这些参数是否过度适合RandomForestClassifier?

时间:2019-07-04 12:06:29

标签: scikit-learn

我不确定这个随机森林是否适合以下参数:

clf = RandomForestClassifier(n_estimators = 10,max_depth = 30,random_state = 22,verbose = 1,oob_score = True,max_features = None)

我有一个26.000个数据点的数据集,有关训练和测试的结果如下:

功能数:30 得分了        火车:0.992        测试:0.949 中华民国火车:0.966   精确度:0.992   召回率:0.934   oob_score:0.934 ROC测试:0.792   精度:0.783   回想一下:0.602

您可以看到训练集和测试集得分相似,但是ROC对于测试数据集显然是最差的。

我尝试了不同的参数(尽管我没有做适当的优化),并且只有在配置min_samples_split和min_samples_leaf时,结果才会有很大不同。如果我将min_samples_leaf = 5配置为ROC,则训练和测试的ROC都会急剧降低(结果如下),因此,如果不配置这些参数,恐怕树是使用具有1个数据点且过拟合的叶子创建的。

clf = RandomForestClassifier(n_estimators = 10,max_depth = 30,random_state = 22,verbose = 1,oob_score = True,max_features = None,min_samples_leaf = 5)

得分        火车:0.961        测试:0.940 中华民国火车:0.828  精度:0.930  召回率:0.663  oob_score:0.925 ROC测试:0.726  精度:0.781  回想一下:0.465

尽管这些结果还不错,但它们显然比未配置min_samples_leaf的结果差,所以我的问题是,是否有必要将此参数配置为> 1?还是有可能即使叶子只有1个数据点也不会过度拟合的模型?

非常感谢

0 个答案:

没有答案