Scikit-learn ile rastgele ormanları deniyorum ve eğitim setimin harika sonuçlarını alıyorum, ancak test setimde nispeten zayıf sonuçlar elde ediyorum ...
İşte çözmeye çalıştığım problem (pokerden esinlenerek): Oyuncu A'nın delik kartları, oyuncu B'nin delik kartları ve bir flop (3 kart) verildi, hangi oyuncu en iyi ele sahip? Matematiksel olarak, bu 14 giriş (7 kart - her biri için bir rütbe ve bir takım) ve bir çıkış (0 veya 1).
Şimdiye kadar elde ettiğim sonuçlardan bazıları:
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%
Kullanılan ilgili kod:
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:])
Kullanılan ağaç sayısına bakılmaksızın, nispeten büyük bir eğitim setine ve oldukça az sayıda özelliğe rağmen , eğitim setindeki performansın test setinden çok daha iyi olduğu görülmektedir ...