SKlearn参数详解—随机森林

浏览: 1847

总第114篇

前言

随机森林(RandomForest,简称RF)是集成学习bagging的一种代表模型,随机森林模型正如他表面意思,是由若干颗树随机组成一片森林,这里的树就是决策树。

在GBDT篇我们说了GBDT和Adaboost的不同,那么RF和GBDT又有什么异同呢?主要有以下两点:

  • 模型迭代方式不同,GBDT是boosting模型,RF是bagging模型。

  • GBDT只能使用CART模型,RF默认是CART模型,也可以选择ID3模型。

  • 参数同样也分为两部分,一部分是框架提升部分的参数,另一部分是决策树参数。

参数

class sklearn.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_decrease=0.0
    min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=1
   random_state=None, verbose=0, warm_start=False, class_weight=None)

因随机森林中的树是决策树,所以关于决策树的大部分参数与前面决策树模型中的参数意思一致,这里就不再赘述,可查看:Sklearn参数详解--决策树
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)在模型上的准确率。

推荐 0
本文由 张俊红 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册