Tôi đang thử nghiệm các khu rừng ngẫu nhiên với scikit-learn và tôi đang nhận được kết quả tuyệt vời của bộ huấn luyện của mình, nhưng kết quả tương đối kém trong bộ thử nghiệm của tôi ...
Đây là vấn đề (lấy cảm hứng từ bài xì phé) mà tôi đang cố gắng giải quyết: Đưa ra các thẻ lỗ của người chơi A, thẻ lỗ của người chơi B và một lá bài (3 lá bài), người chơi nào có ván bài tốt nhất? Về mặt toán học, đây là 14 đầu vào (7 thẻ - một cấp bậc và một phù hợp cho mỗi loại) và một đầu ra (0 hoặc 1).
Đây là một số kết quả của tôi cho đến nay:
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%
Đây là mã có liên quan được sử dụng:
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:])
Dường như bất kể số lượng cây được sử dụng là bao nhiêu , hiệu suất trên tập huấn luyện tốt hơn nhiều so với tập thử nghiệm, mặc dù tập huấn luyện tương đối lớn và số lượng tính năng khá nhỏ ...