为什么RandomForestClassifier中max_features的默认值与RandomForestRegressor中的默认值不同?

时间:2013-08-29 05:34:40

标签: scikit-learn

RandomForestClassifier中,max_features的默认值为sqrt(n_features)RandomForestRegressor的默认值为n_features,具体原因是什么?

2 个答案:

答案 0 :(得分:6)

这是一种基于实证结果的启发式算法。平均而言,作为默认设置,似乎是更好的选择,为分类设置max_features = sqrt(n_features),为回归设置max_features = n_features。

这种启发式源于本文:http://orbi.ulg.ac.be/bitstream/2268/9357/1/geurts-mlj-advance.pdf

在任何情况下,交叉验证此参数当然总是更好的主意。

答案 1 :(得分:0)

请注意,您可能需要设置:

max_features = 'sqrt'  

而不是建议:

max_features=sqrt(n_features)

取决于您正在运行的版本。