随机森林调参的影响参数
对结果影响较大的参数
1.n_estimators:表示森林里树的个数。
理论上是越大越好,但是计算时间也相应增长。所以,并不是取得越大就会越好,预测效果最好的将会出现在合理的树个数。当使用的训练特征值增多时,经研究n_estimators也应增大以保证训练结果为最佳。
通常为100到1000
2.max_features:每个决策树的随机选择的特征数目。
每个决策树在随机选择的这max_features特征里找到某个“最佳”特征,使得模型在该特征的某个值上分裂之后得到的收益最大化。max_features越少,方差就会减少,但同时偏差就会增加。
如果是回归问题,则max_features=n_features,如果是分类问题,则max_features=sqrt(n_features),其中,n_features 是输入特征数。
默认为auto,通常不用调整
3.max_depth: 树的最深深度。
如果max_depth=None,节点会拟合到增益为0,或者所有的叶节点含有小于min_samples_split个样本。如果同时min_sample_split=1, 决策树会拟合得很深,甚至会过拟合。
下面是一段用sklearn包以网格搜索GridSearchCV调参的方法,通过将max_depth,n_estimators一同
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import GridSearchCV