sklearn笔记19 随机森林和决策树的比较
完整代码 sklearn代码13 3-随机森林
sklearn.ensemble
集成模块包括两种基于随机决策树的平均算法:RandomForest算法和Extra-Trees算法。这两种算法都是专门为树设计的扰动和组合技术(perturb-and-combine techniques)[B1998]。这意味着在分类器构造过程中引入随机性来创建一组不同的分类器的集合。集成之后的预测是每个分类器的平均。
在随机森林中(请参阅RandomForestClassifier和_RandomForestRegressor类),集成模型中的每棵树构建时的样本都是由训练集经过有放回抽样(比如abootstrap sample自助式采样法)得来的。另外,在构建树的过程中进行结点分割时,选择的分割点是所有特征的最佳分割点,或特征的大小为max_features的随机子集的最佳分割。(更多细节请看paramete tuning guidelines )。
这两种随机的目的是降低森林估计器的方差。事实上,单个决策树通常表现出很高的方差,并且往往会过拟合。在森林中注入随机性产生的决策树具有一定的解耦预测误差(decoupled prediction er-rors)。通过取这些预测的平均值,可以抵消掉一些误差。随机森林通过组合不同的树来减少方差,有时以增加一点点偏差为代价。在实践中,方差减少通常是值得关注的,因此产生了一个整体更好的模型。
与最初的出版物[B2001]相比, scikit-learn实现通过平均它们的概率预测来组合分类器,而不是让每个分类器为单个类别进行投票。
X------>y 拟合 对新数据进行预测 过拟合 就相当于走火入魔
需要找到一个普适的关系
import numpy as npimport matplotlib. pyplot as plt
%matplotlib inlinefrom sklearn.ensemble import RandomForestClassifier,ExtraTreesClassifierfrom sklearn import datasetsimport pandas as pdfrom sklearn.model_selection import train_test_splitfrom sklearn.tree import DecisionTreeClassifier
wine = datasets.load_wine()
wine
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2) #划分数据
clf = RandomForestClassifier()
clf.fit(X_train,y_train)y_ = clf.predict(X_test)from sklearn.metrics import accuracy_scoreaccuracy_score(y_test,y_)
dt_clf = DecisionTreeClassifier()dt_clf.fit(X_train,y_train)dt_clf.score(X_test,y_test)
# 随机森林的准确率比决策树高
均执行100次来进行比较
score = 0
for i in range(100):X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2) #划分数据dt_clf = DecisionTreeClassifier()dt_clf.fit(X_train,y_train)score+=dt_clf.score(X_test,y_test)/100print('./决策树多次运行准确率',score)
score = 0
for i in range(100):X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2) #划分数据clf = RandomForestClassifier(n_estimators=100)clf.fit(X_train,y_train)score+=clf.score(X_test,y_test)/100print('随机森林多次运行准确率',score)
sklearn笔记19 随机森林和决策树的比较相关推荐
- 【机器学习实战】利用sklearn中的随机森林对红酒数据集进行分类预测
1. sklearn中的集成算法 sklearn中的集成算法模块ensemble 2.预测代码及结果 %matplotlib inline from sklearn.tree import Decis ...
- 随机森林分类算法python代码_Python机器学习笔记:随机森林算法
随机森林算法的理论知识 随机森林是一种有监督学习算法,是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,但是它在分类和回归上表现出非常惊人的性能,因此,随机森林被誉为&q ...
- 《菜菜的机器学习sklearn课堂》随机森林应用泛化误差调参实例
随机森林 随机森林 - 概述 集成算法概述 sklearn中的集成算法 随机森林分类器 RandomForestClassifier 重要参数 控制基评估器的参数 n_estimators:基评估器的 ...
- sklearn RandomForest(随机森林)模型使用RandomSearchCV获取最优参数及模型效能可视化
sklearn RandomForest(随机森林)模型使用RandomSearchCV获取最优参数及模型效能可视化 随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林 ...
- sklearn实战之随机森林
sklearn实战系列: (1) sklearn实战之决策树 (2) sklearn实战之随机森林 (3) sklearn实战之数据预处理与特征工程 (4) sklearn实战之降维算法PCA与SVD ...
- 解读随机森林的决策树:揭示模型背后的奥秘
一.引言 随机森林[1]是一种强大的机器学习算法,在许多领域都取得了显著的成功.它由多个决策树组成,而决策树则是构建随机森林的基本组件之一.通过深入解析决策树,我们可以更好地理解随机森林模型的工作原理 ...
- 随机森林与决策树效益对比
随机森林 随机森林是非常具有代表性的Bagging集成算法,它的所有基评估器都是决策树,分类树组成的森林就叫做随机森林分类器,回归树所集成的森林就叫做随机森林回归器. 重要参数 1.控制基评估器的参数 ...
- 机器学习算法-随机森林之决策树R 代码从头暴力实现(3)
前文 (机器学习算法 - 随机森林之决策树初探(1)) 讲述了决策树的基本概念.决策评价标准并手算了单个变量.单个分组的Gini impurity.是一个基本概念学习的过程,如果不了解,建议先读一下再 ...
- 机器学习算法-随机森林之决策树R 代码从头暴力实现(2)
前文(机器学习算法 - 随机森林之决策树初探(1))讲述了决策树的基本概念.决策评价标准并手算了单个变量.单个分组的Gini impurity.是一个基本概念学习的过程,如果不了解,建议先读一下再继续 ...
- 机器学习 ||《菜菜的sklearn机器学习》笔记——2 随机森林
1 集成算法 集成学习 非常流行的机器学习算法,通过在数据上构建多个模型,集成所有模型的结果. 多个模型集成成为的模型叫做集成评估器,其中的每个模型叫做基评估器.通常来说,有三类集成算法:袋装法(Ba ...
最新文章
- 实验四:汇编代码调用系统调用的工作过程
- Go channel 的妙用
- [Linux] Linux指令汇总(持续更新中...)
- Codeforces Beta Round #1
- linux svn 看不到文件,SVN更新时不能打开新文件svn-base系统找不到指定的文件
- 2017.5.5 小朋友的数字 思考记录
- Spring4.x()--Jdbc事务-XML
- Java内存分配之堆、栈和常量池(转)
- layui外部引入_javascript 怎么去引用layui里面的方法
- JNDI 是什么,怎么理解
- 后缀表达式转中缀表达式(非常简单易懂)
- android测试tf卡读写速度,手机TF卡速度的研究经验sandisk/金士顿 C2,C4,C6测速软件测速图数据...
- 我的世界怎么自定义服务器图标,我的世界服务器
- 卸载控制面板(Control Panel)存在的重复程序(CrowdStrike)
- PS笔刷:80个自定义绘画画笔工具笔刷套装
- android10.0(Q) MTK 系统相机打开 USBCamera
- Google 3D压缩项目Draco简析
- 计算机学术论文shortessay,实用的Academic Essay写作技巧汇总
- “囍”博物馆与Interesting 有点意思
- 思岚科技定位导航技术凸显 成为服务机器人企业首选品牌
热门文章
- 将ubuntu光盘作为安装源_Ubuntu之apt-get光盘源配置小结
- 有容云:梁胜-如何让Docker容器在企业中投产(上)
- 您可能是盗版软件的受害者——解决办法
- 2021高考成绩查询新浪,【转】2021高三一模分数线发布!各分数段可报大学出炉!...
- java encapsulation_Java Encapsulation vs Abstraction
- 【备忘】修复过的SCCM报错
- php调用itunes,使用cURL和PHP检索iTunes App Store XML
- 少林禅医:姜是无上养生物,谨慎使用大智慧
- 耶耶!我进了全国网络管理员前50了
- 麋鹿微博工具箱 · 批量删除微博、设置仅自己可见、仅好友可见等