मैं परिक्षित के साथ यादृच्छिक जंगलों के साथ प्रयोग कर रहा हूं और मुझे अपने प्रशिक्षण सेट के शानदार परिणाम मिल रहे हैं, लेकिन मेरे परीक्षण के परिणाम अपेक्षाकृत खराब हैं ...
यहां समस्या (पोकर से प्रेरित) है जिसे मैं हल करने की कोशिश कर रहा हूं: खिलाड़ी ए के होल कार्ड, खिलाड़ी बी के होल कार्ड और एक फ्लॉप (3 कार्ड) को देखते हुए, किस खिलाड़ी का हाथ सबसे अच्छा है? गणितीय रूप से, यह 14 इनपुट (7 कार्ड - एक रैंक और प्रत्येक के लिए एक सूट) और एक आउटपुट (0 या 1) है।
यहाँ मेरे कुछ परिणाम अब तक हैं:
Training set size: 600k, test set size: 120k, number of trees: 25
Success rate in training set: 99.975%
Success rate in testing set: 90.05%
Training set size: 400k, test set size: 80k, number of trees: 100
Success rate in training set: 100%
Success rate in testing set: 89.7%
Training set size: 600k, test set size: 120k, number of trees: 5
Success rate in training set: 98.685%
Success rate in testing set: 85.69%
यहाँ प्रासंगिक कोड का उपयोग किया गया है:
from sklearn.ensemble import RandomForestClassifier
Forest = RandomForestClassifier(n_estimators = 25) #n_estimator varies
Forest = Forest.fit(inputs[:trainingSetSize],outputs[:trainingSetSize])
trainingOutputs = Forest.predict(inputs[:trainingSetSize])
testOutputs = Forest.predict(inputs[trainingSetSize:])
ऐसा प्रतीत होता है कि इस्तेमाल किए गए पेड़ों की संख्या की परवाह किए बिना, प्रशिक्षण सेट पर प्रदर्शन अपेक्षाकृत बड़े प्रशिक्षण सेट और सुविधाओं की एक छोटी संख्या के बावजूद, परीक्षण सेट पर बहुत बेहतर है ...