2016年08月17日 10:32:42 铭霏 阅读数:36874
版权声明:本文为博主原创文章,博主转载请附加原文链接并声明。 https://blog.csdn.net/u012102306/article/details/52228516

本篇不是介绍RF的,关于RF网上有很多通俗易懂的解释
西瓜书与统计学习方法等很多教材中的解释也都足够
本篇仅针对如何使用sklearn中的RandomForestClassifier作记录

一、代码怎么写

  1. class sklearn.ensemble.RandomForestClassifier(n_estimators=10, crite-rion=’gini’, max_depth=None,
  2. min_samples_split=2, min_samples_leaf=1,
  3. min_weight_fraction_leaf=0.0,
  4. max_features=’auto’,
  5. max_leaf_nodes=None, bootstrap=True,
  6. oob_score=False, n_jobs=1, ran-dom_state=None, verbose=0,
  7. warm_start=False, class_weight=None)

二、关于参数

其中关于决策树的参数:

criterion: ”gini” or “entropy”(default=”gini”)是计算属性的gini(基尼不纯度)还是entropy(信息增益),来选择最合适的节点。

splitter: ”best” or “random”(default=”best”)随机选择属性还是选择不纯度最大的属性,建议用默认。

max_features: 选择最适属性时划分的特征不能超过此值。

当为整数时,即最大特征数;当为小数时,训练集特征数*小数;

if “auto”, then max_features=sqrt(n_features).

If “sqrt”, thenmax_features=sqrt(n_features).

If “log2”, thenmax_features=log2(n_features).

If None, then max_features=n_features.

max_depth: (default=None)设置树的最大深度,默认为None,这样建树时,会使每一个叶节点只有一个类别,或是达到min_samples_split。

min_samples_split:根据属性划分节点时,每个划分最少的样本数。

min_samples_leaf:叶子节点最少的样本数。

max_leaf_nodes: (default=None)叶子树的最大样本数。

min_weight_fraction_leaf: (default=0) 叶子节点所需要的最小权值

verbose:(default=0) 是否显示任务进程

关于随机森林特有的参数:

n_estimators=10:决策树的个数,越多越好,但是性能就会越差,至少100左右(具体数字忘记从哪里来的了)可以达到可接受的性能和误差率。

bootstrap=True:是否有放回的采样。

oob_score=False:oob(out of band,带外)数据,即:在某次决策树训练中没有被bootstrap选中的数据。多单个模型的参数训练,我们知道可以用cross validation(cv)来进行,但是特别消耗时间,而且对于随机森林这种情况也没有大的必要,所以就用这个数据对决策树模型进行验证,算是一个简单的交叉验证。性能消耗小,但是效果不错。

n_jobs=1:并行job个数。这个在ensemble算法中非常重要,尤其是bagging(而非boosting,因为boosting的每次迭代之间有影响,所以很难进行并行化),因为可以并行从而提高性能。1=不并行;n:n个并行;-1:CPU有多少core,就启动多少job

warm_start=False:热启动,决定是否使用上次调用该类的结果然后增加新的。

class_weight=None:各个label的权重。

进行预测可以有几种形式:

predict_proba(x):给出带有概率值的结果。每个点在所有label的概率和为1.

predict(x):直接给出预测结果。内部还是调用的predict_proba(),根据概率的结果看哪个类型的预测值最高就是哪个类型。

predict_log_proba(x):和predict_proba基本上一样,只是把结果给做了log()处理。

转载于:https://www.cnblogs.com/fengff/p/10919741.html

Random Forest(sklearn参数详解)相关推荐

  1. Sklearn参数详解—聚类算法

    总第115篇 前言 聚类是一种非监督学习,是将一份给定数据集划分成k类,这一份数据集可能是某公司的一批用户,也可能是某媒体网站的一系列文章,如果是某公司的一批用户,那么k-means做的就是根据用户的 ...

  2. Lesson 8.3Lesson 8.4 ID3、C4.5决策树的建模流程CART回归树的建模流程与sklearn参数详解

    Lesson 8.3 ID3.C4.5决策树的建模流程 ID3和C4.5作为的经典决策树算法,尽管无法通过sklearn来进行建模,但其基本原理仍然值得讨论与学习.接下来我们详细介绍关于ID3和C4. ...

  3. SKlearn参数详解—随机森林

    总第114篇 前言 随机森林(RandomForest,简称RF)是集成学习bagging的一种代表模型,随机森林模型正如他表面意思,是由若干颗树随机组成一片森林,这里的树就是决策树. 在GBDT篇我 ...

  4. Sklearn参数详解—GBDT

    总第113篇 前言 这篇介绍Boosting的第二个模型GBDT,GBDT和Adaboost都是Boosting模型的一种,但是略有不同,主要有以下两点不同: GBDT使用的基模型是CART决策树,且 ...

  5. Sklearn参数详解—Adaboost

    总第112篇 前言 今天这篇讲讲集成学习,集成学习就是将多个弱学习器集合成一个强学习器,你可以理解成现在有好多道判断题(判断对错即01),如果让学霸去做这些题,可能没啥问题,几乎全部都能做对,但是现实 ...

  6. Sklearn参数详解—贝叶斯

    总第109篇 前言 在开始学习具体的贝叶斯参数前,你可以先看看:朴素贝叶斯详解 朴素贝叶斯一共有三种方法,分别是高斯朴素贝叶斯.多项式分布贝叶斯.伯努利朴素贝叶斯,在介绍不同方法的具体参数前,我们先看 ...

  7. Sklearn参数详解—SVM

    总第108篇 本篇主要讲讲Sklearn中SVM,SVM主要有LinearSVC.NuSVC和SVC三种方法,我们将具体介绍这三种分类方法都有哪些参数值以及不同参数值的含义. 在开始看本篇前你可以看看 ...

  8. Sklearn参数详解--决策树

    总第106篇 前言 先来简短的回顾一下决策树原理: 决策树学习的算法通常是一个递归地(根据某一准则,信息增益或基尼系数)选择最优切分点/特征,并根据该特征对训练数据集进行分割,使得对各个子数据集有一个 ...

  9. Sklearn参数详解—LR模型

    总第105篇 最近会开始一个新的系列,sklearn库中各模型的参数解释,本篇主要讲述最基础的LR模型. 模型参数详解 逻辑回归: sklearn.linear_model.LogisticRegre ...

最新文章

  1. mysql存储过程-汇总学习
  2. 宜昌高新区三峡云计算机大楼,【智慧宜昌】CREATOR快捷CS分布式系统成功入驻三峡云计算中心...
  3. 004_SpringMVC分层配置文件
  4. github-share报错无法读取远程仓库
  5. spyder pyecharts不显示_165Hz+1ms仅需千元左右 优派VX2771HDPRO显示器
  6. [ZJOI2012]数列
  7. iPhone X 的新解锁技术:用 Python 编写 Face ID!
  8. 路径规划算法:A*算法 - 附代码
  9. Python编程——函数
  10. NumberFormat和DecimalFormat
  11. 机器学习-神经网络NN
  12. 【零基础】量子纠缠图像问世,简单解读实验原理
  13. php 对上传图片尺寸裁切,PHP图片自动裁切应付不同尺寸的显示
  14. 国际知名制作公司名录及网址大全,制作人员必备
  15. Codeforces 712E Memory and Casinos
  16. 拼多多关键词搜索商品详情分析接口(分类ID搜索精准商品数据)代码对接教程
  17. 电脑技术员联盟 Ghost XP Sp3 装机版 V5.8下载 .
  18. 定位自主高端,2019款奔驰C级诠释优雅与豪华的气息
  19. 阴阳师服务器维护2月20,阴阳师2月19日更新维护公告 大妖试炼超鬼王来袭
  20. Word宋体小四变成宋体四号后行距变大了很多、无法缩小的解决办法

热门文章

  1. linux网络的高可用性,构建高可用性网络
  2. java的时间变化_通过java记录数据持续变化时间代码解析
  3. caj转pdf_CAJ转PDF文件,这恐怕是最全的方法总结了!
  4. No 'Access-Control-Allow-Origin' header is present on the requested resource', 跨域访问异常
  5. linux kill进程
  6. svm预测结果为同一个值_实战:用SVM算法进行乳腺癌预测
  7. python代码_自学Python之后不想去公司上班,教你如何月入10000+,听过来人说
  8. android ontoch事件无反应_一切从android的handler说起(三)
  9. java中构造器快捷方式_java 构造器 (构造方法)
  10. python爬虫运行正常最后报错_Python爬虫运行正常,最后却报错