sklearn随机森林

classsklearn.ensemble.RandomForestClassifier(
n_estimators=10, criterion=‘gini’,
max_depth=None,min_samples_split=2,
min_samples_leaf=1, min_weight_fraction_leaf=0.0,
max_features=‘auto’, max_leaf_nodes=None,
min_impurity_split=1e-07,bootstrap=True,
oob_score=False, n_jobs=1,
random_state=None, verbose=0,
warm_start=False, class_weight=None)

随机森林框架参数:
1、n_estimators:弱学习器的最大迭代次数,或者说最大的学习器个数,若过小容易过拟合,过大容易欠拟合,一般选择适中数值,默认为100.实际调参中,常常与learning_rate一起考虑。
2、oob_score:是否采用袋外样本来考虑模型好坏,推荐设置为True。袋外分数反应了模型拟合后的泛化能力。
3、criterion:CART树做划分时对特征的分类标准。分类RF默认是基尼系数gini,另一个标准是信息增益;回归RF默认是均方差mse,另一个标准是绝对值差mae.一般来说选择默认就可以。
RF重要的框架参数比较少,主要关注n_estimators,即RF最大的决策树个数。

随机森林决策树参数:
RF的决策树参数,它要调参的参数与GBDT基本相同。
1、max_feartures:决策树划分时考虑的最大特征数。默认是None,即考虑所有特征。一般来说,如果样本特征数小于50,使用默认的None即可。如果特征数非常多,可以灵活运用最大特征数其他类型如int,float,log2等不同类型的取值来控制决策树的生成时间。
参数效果:max_feattures值越大,模型学习能学习到的信息越多,越容易过拟合。
2、max_depth:最大深度默认不输入。如果不输入,决策树在生成子树时不会限制子树的深度。一般来说,数据少或特征少时可以不管这个值。如果数据多或者特征多建议限制最大深度,具体情况取决于数据分布。推荐取值范围在10到100之间。
参数效果:其值越大,决策树越复杂,越容易过拟合。
3、min_samples_split:内部节点再划分所需最小样本数,如果某节点的样本数小于该值,则则不会继续尝试选择最优特征进行划分,默认值是2.
参数效果:其值越大,决策树越简单,越不容易过拟合。
4、min_samples_leaf:叶节点最小样本数,默认为1.可以输入最小样本数的整数,或者最少样本数占总样本数的百分比。
参数效果:值越大,叶节点越容易被剪枝,决策树越简单,越不容易过拟合
5、min_weight_fraction_leaf:叶节点最小样本的权重和,该值限制了叶节点最小样本权重和的最小值,默认是0,即不考虑权重问题。一般来说,较多样本有缺失值或者分类树样本的分布类别有较大偏差,就可以考虑引入该值。
6、max_leaf_nodes:最大叶节点数,通过限制最大叶节点数防止过拟合,默认是None,即不限制最大叶节点数,加了限制,算法会在最大叶节点内建立最优的决策树。如果特征多的话可以考虑该值,具体值可以通过交叉验证得到。
参数效果:值越小,叶节点个数越少,可以防止过拟合。
7、min_impurity_split:节点划分最小不纯度,这个值限制了决策树的增长。如果某节点的不纯度小于这个阈值,则该节点不再生成子节点。一般采用默认值1e-7。
上面参数中重要的包括:最大特征数max_feartures,最大深度max_depth,内部节点再划分所需最小样本数min_samples_split和叶节点最小样本数min_samples_leaf

参考文章:
https://blog.csdn.net/geduo_feng/article/details/79558572

猜你喜欢

转载自blog.csdn.net/onroadliuyaqiong/article/details/89006350
今日推荐