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

一、代码怎么写

[python] view plaincopy print?
  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()处理。

Random Forest算法中的参数详解相关推荐

  1. BLAST+中blastn参数详解

    [转]BLAST+中blastn参数详解 2012-05-22 13:25 转载自  lidaof 最终编辑  lidaof 与之前的blast相比,新的blast+将blastn,blastx等合作 ...

  2. oracle安装过程中内核参数详解

    转载网址:https://www.cnblogs.com/colben/p/4120439.html 在安装Oracle的时候需要调整linux的内核参数,但是各参数代表什么含义呢,下面做详细解析. ...

  3. 常用决策树集成模型Random Forest、Adaboost、GBDT详解

    常用的集成学习策略 在之前的文章我有介绍过常用的基本决策树模型ID3.C4.5.CART算法,其中提到了一个关于基本决策树模型的缺点,那就是决策树模型学习一棵最优的决策树被认为是NP-Complete ...

  4. FFMPEG进阶系列03-ffmpeg转码专题(中)x264参数详解

    文章目录 概述 版本 Presets(预设) tune slow-firstpass Frame-type options(帧类型选项) keyint min-keyint no-scenecut s ...

  5. Android AVD创建及设置中各参数详解

    本文根据如下的模拟器安装做一些解释: 本文环境:Windows XP sp3,最新JAVa环境,android-sdk_r06-windows.zip,android 2.2 API Level 8, ...

  6. struts2 action中result参数详解

    chain 用来处理Action链 com.opensymphony.xwork2.ActionChainResult dispatcher 用来转向页面,通常处理JSP org.apache.str ...

  7. OpenCV3中 HOGDescriptor 参数详解

    最近在做数字识别,需要用一些特征检测的方法,所以研究了一下hog特征以及opencv3中的实现. 首先我们进入HOGDescriptor所在的头文件"objdetect.hpp", ...

  8. plt.scatter 中cmap参数详解

    1.首先,cmap参数和c参数配合使用的.参数c可以是一个序列,如:plt.scatter(a,b,c=['b','r','b','r','b'],s=80) 此时c的序列是一个颜色序列,除了上述的简 ...

  9. linux中shmget参数详解

    #include <sys/ipc.h> #include <sys/shm.h> int shmget (key_t key, size_t size, int shmflg ...

最新文章

  1. css3中的box-sizing属性
  2. 2013:奇虎360最好的时光
  3. 下一次大跃进?将机器人与物联网相结合
  4. VC++软件工程师高端培训
  5. C++ 中的左值(Lvalues)和右值(Rvalues)
  6. 计算机网络实验思考题汇总
  7. 「Python-Bug」错误requests.exceptions.proxyerror: httpsconnectionpool解决方法
  8. 通向架构师的道路(第五天)之tomcat集群-群猫乱舞
  9. JVM之堆Heap参数调优入门
  10. git 新建分支并切换到该分支_Git何谓分支
  11. linux mdev -s没有运行,mdev详解
  12. Magento : 直接下载扩展插件到本地 Extension
  13. 佳恩半导体完成数千万A轮融资
  14. Centos7 超简单将Centos的yum源更换为国内的阿里云源
  15. unix环境高级编程读后感
  16. Mac pro 中Word-PPT(office)常用快捷键--补充
  17. 武大、南开、南大、科大陈恩红组面试经验
  18. 计算机软件实习每日学习打卡(3)20201204
  19. MKS Robin nano V3.0主板使用RRF 固件教程
  20. Excel表格设置下拉选项并应用到整列及清除下拉项设置

热门文章

  1. JM与h264标准中的关键字说明
  2. docker build Dockfile ---- RUN 中 cd 切换路径失败 的原因、解决
  3. 事务相关、不可重复读与幻读的区别
  4. Django:学习笔记(2)——创建第一个应用
  5. Ubuntu安装之python开发
  6. HDU 5392 BC #51
  7. 使用ucontext组件实现的coroutine代码分析
  8. Oracle学习笔记:通过种子数据库设置dbid为指定值
  9. Java异常处理001:Maven clean package时Failed to clean project: Failed to delete
  10. 移动端真机测试怎么做