Random Forest算法中的参数详解

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

一、代码怎么写

[python] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  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=Falseoob(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()处理。  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中自动化办公 【笔记】

00读取csv文件 import csv def readCsv(path):infolist []with open (path,"r") as f:allFileInfo csv.reader(f)print(allFileInfo)for row in allFileInfo:infolist.append(row)return infolistpath r"D:\xiazaipan\第1章 Python语言基础\15、自动化办公与…

Python爬虫:一些常用的爬虫技巧总结

1、基本抓取网页 get方法 import urllib2 url "http://www.baidu.com" respons urllib2.urlopen(url) print response.read() post方法 import urllib import urllib2url "http://abcde.com" form {name:abc,password:1234} form_data urllib.urlenco…

微型计算机选用要点,微型计算机原理以及应用考试_new要点分析.doc

微型计算机原理以及应用第一章:1.微机的主要的特点是:(1)体积小、重量轻;(2)价格低廉;(3)可靠性高、结构灵活(4)应用面广2.微型机的分类:按微处理器规模分类:单片机 、个人计算机、 …

到底什么是API经济

编者按:这是一篇两年前的文章,作者为原CA TECH的中国区技术总监。他在文章中阐述的问题,今天读来依旧让人振聋发聩。但遗憾的是,国人在API成为一种服务的概念上似乎还停留在遥远的PC时代,说白了还都只是一些低端的数据…

解决Linux下vi或vim操作Found a swap file by the name

在linux下用vi或vim打开 文件时 E325: ATTENTION Found a swap file by the name ".1.py.swp" owned by: liu dated: Sat Apr 20 17:37:19 2019 file name: ~liu/1.py modified: YES user name: liu host name: localhos…

给未来的自己一封信计算机,给未来的自己的一封信范文(精选5篇)

给未来的自己的一封信范文(精选5篇)在日常生活或是工作学习中,大家总免不了要接触或使用书信吧,书信一般包括称呼、问候语、正文、祝语、署名、日期六个部分。你知道书信怎样写才规范吗?下面是小编为大家收集的给未来的自己的一封信范文(精选…

matlab神经网络函数

1.设计函数 solvein 设计线性网络; solverb 设计径向基网络; solverbe 设计精确的径向基网络; solvehop 设计Hopfield网络。 2.传递函数 hardlim 硬限幅传递函数; hardl…

GBDT算法简介

在网上看到一篇GBDT介绍非常好的文章,GBDT大概是非常好用又非常好用的算法之一了吧(哈哈 两个好的意思不一样) GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算…

DevExpress Chart空间Y轴归一化(线性归一化函数)

数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较…

Linux samba的配置和使用

推荐局域网内使用 不推荐远程服务器 一、安装Samba服务 yum -y install samba # 查看yum源中Samba版本 yum list | grep samba # 查看samba的安装情况 rpm -qa | grep samba Samba服务器安装完之后, 会生成配置文件目录/etc/samba, /etc/samba/smb.conf是samba的核心配置文件.…

23期PHP基础班第四天

转载于:https://www.cnblogs.com/lihang666/p/6078982.html

SVM和SVR简介

1、支持向量机( SVM )是一种比较好的实现了结构风险最小化思想的方法。它的机器学习策略是结构风险最小化原则 为了最小化期望风险,应同时最小化经验风险和置信范围) 支持向量机方法的基本思想: ( 1 &#…

gojs实现最短路径寻址实例

2019独角兽企业重金招聘Python工程师标准>>> JS function init() {if (window.goSamples) goSamples(); // init for these samples -- you dont need to call thisvar $ go.GraphObject.make; // for conciseness in defining templatesmyDiagram $(go.Diagram,…

河南王牌计算机专业,河南计算机专业实力突出的7所大学,郑大位列次席,榜首实至名归...

郑州大学是省内唯一的211建设高校,整体办学实力在国内同类高校之中名列前茅,虽然没有能够在学科评估之中取得A类学科,但学校有化学、考古学、材料科学与工程等多个学科获评B,学校计算机科学与技术学科取得了C的成绩,虽…

Linux中配置ftp服务器

1. 先用rpm -qa| grep vsftpd命令检查是否已经安装,如果ftp没有安装,使用yum -y install vsftpd 安装,(ubuntu 下使用apt-get install vsftpd) 2. service vsftpd start / service vsftpd restart 启动要让FTP每次开机自动启动,运行命令:…

机器学习中各类算法的优缺点比较

1决策树(Decision Trees)的优缺点 决策树的优点: 一、 决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义。 二、 对于决策树,数据的准备往往是简单或者是不必要的.其他的技术往往要求先把数据一般化&am…

在程序开发中日志级别

日志打印可以查看代码的执行情况,以及快速定位错误。 在代码中,特别是业务层逻辑的代码,适当的添加日志是必须的,一般在catch代码块中是出现异常的,如果需要打印 可以用error级别, 一般的无关紧要的日志&am…

基于Python搭建Django后台管理系统

一、博客网站的创建 创建项目 生成站点(sites)Model,这两步骤第一篇有介绍,这里就直接操作了 二、数据库配置 介绍一下数据库的配置就是在setting里面配置链接的数据库,这里系统以及配置好了,链接一个…

计算机研究所专业课,【择校必看】十三所计算机专业课只考数据结构的985院校!...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼敲黑板:本文涉及到的学校计算机专业考研只考数据结构,其中部分院校同时也会考算法、C语言等相关内容。但是,相对其他几门,无疑在专业课的复习上大大降低了难度。如果各位同学目前的专…

在Python2.7下如何安装TA-lib库

最近在做一个关于股票预测的模型,由于想要用Talib库中的方法,来提取各种金融技术指标,所以就下了这个库。但整个过程可谓是一波三折。花费了大半天才搞定这件事。 下面来给大家分享一下安装的步骤,省的大家再往这个坑里跳。。。 …