前言
在GBDT篇我们说了GBDT和Adaboost的不同,那么RF和GBDT又有什么异同呢?主要有以下两点:
-
模型迭代方式不同,GBDT是boosting模型,RF是bagging模型。
-
GBDT只能使用CART模型,RF默认是CART模型,也可以选择ID3模型。
-
参数同样也分为两部分,一部分是框架提升部分的参数,另一部分是决策树参数。
参数
因随机森林中的树是决策树,所以关于决策树的大部分参数与前面决策树模型中的参数意思一致
n_estimators:随机森林中树的棵树,默认是10棵。
criterion:样本集切分策略,默认是gini指数,此时树模型为CART模型,当值选为信息增益的时候,模型就成了ID3模型,默认为CART模型。
bootstrap:是统计学中的一种重采样技术,可以简单理解成是有放回地抽样,默认是True,即采取有放回抽样这种策略,这不就是bagging的思想么。
oob_score:袋外估计(out-of-bag),这个外是针对于bagging这个袋子而言的,我们知道,bagging采取的随机抽样的方式去建立树模型,那么那些未被抽取到的样本集,也就是未参与建立树模型的数据集就是袋外数据集,我们就可以用这部分数据集去验证模型效果,默认值为False。
对象/属性
estimators_:打印输出随机森林中所有的树。
classes_:输出样本集的类别。
n_classes_:输出类别数量。
n_features_:特征数量。
n_outputs_:当模型被fit时的输出维度。看看下图来感受一些这个属性。
feature_importances_:特征重要性。
oob_score_:袋外估计准确率得分,必须是oob_score参数选择True的时候才可用。
oob_decision_function_:袋外估计对应的决策函数。
方法
apply(X):将训练好的模型应用在数据集X上,并返回数据集X对应的叶指数。
decision_function(X):返回决策函数值(比如svm中的决策距离)
fit(X,Y):在数据集(X,Y)上训练模型。
get_parms():获取模型参数
predict(X):预测数据集X的结果。
predict_log_proba(X):预测数据集X的对数概率。
predict_proba(X):预测数据集X的概率值。
score(X,Y):输出数据集(X,Y)在模型上的准确率。
End.
作者:张俊红
- 我的微信公众号
- 微信扫一扫
- 我的微信公众号
- 微信扫一扫
评论