机器学习之决策树、随机森林
一、决策树
决策树是常见的机器学习中监督学习的方法,可以用来分类和回归。对于数据集,沿着决策树的分支,根据属性值判断属于决策树的哪一枝,最终到达叶节点,得到结果。一棵典型的决策树如下,
图1. 决策树
一棵决策树包括以下部分:
(1)树根:包含全部数据集
(2)树枝:划分标准
(3)中间节点:按照一定标准划分的子集
(4)叶子:最终的结果(包含的子集)
1.1 决策树分类
决策树分类中,最终的叶子为最终划分的分类结果,如根据当天的温度、湿度、风力、大气污染程度等,判断最终是天气好、一般还是差。决策树分支的标准是信息熵的增益最大,信息熵的定义如下:
(1)
其中,为集合中第类样本所占的比例,表示划分前根据数据标签的原始数据集的信息熵,信息熵越大,表示结构越活越;信息熵越小,结构越稳定。假设某一离散属性值包含个离散取值,那么根据属性,可以将划分为个不同的子集,每一个子集都可以计算.
那么根据属性进行划分(分枝)的信息增益(信息熵的下降量)为:
(2)
挑选使得信息增益最大的属性,对决策树进一步分枝。该背后原理如下,根据决策树,使得整棵树的信息熵最低,得到的决策树不确定性最小,最稳定。
参见https://zhuanlan.zhihu.com/p/89607509
1.2 决策树回归
决策树用于回归时,其分枝的标准为最小均方误差。根据数据集的第个特征,设置阈值为,划分为和两个区域,如下:
(3)
使得一个子集内均方误差最小的,那么上式为,
(4)
参见,https://blog.csdn.net/Albert201605/article/details/81865261
二、随机森林
随机森林,顾名思义,是很多树的集合。随机森林的基本单位是决策树,其示意图如下,
图2. 随机森林
随机森林的步骤如下:
(1)从数据集中有放回的随机抽样 ;
(2)随机抽取特征构建决策树;
(3)将决策树的结果取平均,得到最终结果。
参加,机器学习常用算法——随机森林 - 云+社区 - 腾讯云
三、代码实现
随机森林
利用第三方库,随机森林分类和回归如下,
分类,
from sklearn.ensemble import RandomForestClassifier# x. y为训练数据
model_RF_class = RandomForestClassifier(n_estimators = 100, random_state = 0)
model_RF_class.fit(x, y)
# x_test, y_test为测试数据
y_test = model_RF_class.predict(x_test)
回归,
# x. y为训练数据
from sklearn.ensemble import RandomForestRegressor# 随机森林回归器
model_RF_regr = RandomForestRegressor(n_estimators = 100, random_state = 0)
# 拟合数据集
model_RF_regr = model_RF_regr.fit(X, y)
# x_test, y_test为测试数据
y_test = model_RF_regr.predict(x_test)
参见,机器学习算法系列(十八)-随机森林算法(Random Forest Algorithm)_sai_simon的博客-CSDN博客_随机森林算法j
具体参数的含义,见官网,sklearn.ensemble.RandomForestClassifier — scikit-learn 1.1.0 documentation
决策树
from sklearn.tree import DecisionTreeClassifier# x. y为训练数据
model_DT_class = DecisionTreeClassifier()
model_DT_class.fit(x, y)
# x_test, y_test为测试数据
y_test = model_DT_class.predict(x_test)
from sklearn.tree import DecisionTreeRegressor# x. y为训练数据
model_DT_regr = DecisionTreeRegressor(max_depth=1)
model_DT_regr.fit(x, y)
# x_test, y_test为测试数据
y_test = model_DT_regr.predict(x_test)
参见,python代码实现决策树分类_林下月光的博客-CSDN博客_python决策树分类
参见,决策树—回归_禺垣的博客-CSDN博客_决策树回归
机器学习之决策树、随机森林相关推荐
- 金融风控机器学习第三十一天---拜师课堂 机器学习算法--决策树 随机森林
ID3 c4.5的核心是熵 ID3 c4.5 cart 过拟合解决一般 用 剪枝 或者 随机森林 随机森林代码: #!/usr/bin/python # -*- coding:utf-8 -*-imp ...
- 机器学习——决策树+随机森林
目录 决策树 认识决策树 决策树的生成 信息的单位--比特 信息熵 决策树的划分依据之一--信息增益 例题--银行贷款分析 决策树的其他分类依据 案例--泰坦尼克号乘客生存分类 决策树的结构.本地保存 ...
- 机器学习实战之分类算法(K-近邻/朴素贝叶斯/决策树/随机森林)
机器学习分类算法 1. 机器学习算法简介 1.1 按照学习方式分类 1.2 区别 1.3 关于监督学习中的分类与回归区别 1.4 机器学习开发流程 2. 数据集介绍与划分 2.1 sklearn数据集 ...
- 机器学习-Sklearn-02(随机森林)
机器学习-Sklearn-02(随机森林) 学习2 随机森林在sklearn中的实现 1 概述 1.1 集成算法概述 集成学习(ensemble learning)是时下非常流行的机器学习算法,它本身 ...
- 决策树随机森林GBDTXGBoost学习笔记以及代码实现
文章目录 1. 引入 1.1 决策树 1.2 随机森林 1.3 GBDT(Gradient Boosting Decision Tree)梯度提升决策树 1.4 XGBoost(eXtreme Gra ...
- 【机器学习】P25 随机森林算法(2) 实现 “波士顿房价” 预测
随机森林算法 Random Forest Algorithm 随机森林算法 随机森林算法实现波士顿房价预测 随机森林算法 随机森林(Random Forest)算法 是一种 集成学习(Ensemble ...
- python 随机森林调参_Python机器学习实践:随机森林算法训练及调参-附代码
原标题:Python机器学习实践:随机森林算法训练及调参-附代码 文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | 博客园 作者 | 战争热诚 ...
- 机器学习sklearn实战-----随机森林调参乳腺癌分类预测
机器学习sklearn随机森林乳腺癌分类预测 机器学习中调参的基本思想: 1)非常正确的调参思路和方法 2)对模型评估指标有深入理解 3)对数据的感觉和经验 文章目录 机器学习sklearn随机森林乳 ...
- 机器学习算法:随机森林
在经典机器学习中,随机森林一直是一种灵丹妙药类型的模型. 该模型很棒有几个原因: 与许多其他算法相比,需要较少的数据预处理,因此易于设置 充当分类或回归模型 不太容易过度拟合 可以轻松计算特征重要性 ...
- 机器学习系列|基于随机森林的生存分析模型-R实战
机器学习系列|基于随机森林的生存分析模型-R实战 随机生存森林 随机生存森林通过训练大量生存树,以表决的形式,从个体树之中加权选举出最终的预测结果. 构建随机生存森林的一般流程为: Ⅰ. 模型通过&q ...
最新文章
- 训练模型前数据是不是这样处理会更好
- 2021年《环球科学》十大科学新闻:“天宫”空间站、火星探索位列前二
- java用递归删除文件夹_Java中通过递归调用删除文件夹下所有文件
- 51nod 1562 玻璃切割 (STL map+一点点的思考)
- eclipse中快捷键
- 《白鹿原》金句摘抄(一)
- mysql小鲸鱼_杀死一只小鲸鱼
- 某大型银行深化系统技术方案之十一:核心层之业务活动监控
- 反素数(高合成数?)
- springboot+vue全栈开发_springboot+vue(一)___开发环境以及前后端项目搭建
- EDSR:Enhanced Deep Residual Networks for Single Image Super-Resolution
- 如何使用Beckhoff平台进行串口通讯(EL6002,EL6022)
- 【bat】一个脚本文件,关闭IE,重置IE,配置IE,设置IE的ActionX等选项.并自动管理员身份运行
- ubuntu的初始密码
- android 手机安装windows7,手机怎么安装win7系统 安卓手机装win7系统教程
- 你的微信号安全吗?(附最新技术分享)
- JS面试题汇总(八)
- Tryhackme -Skynet(考点:smb 密码爆破 cuppa RFI cronjob - tar提权)
- 英文期刊投稿指南模板(通用版)-----以IEEE Wireless Communications为例
- 网站建设和网站运营需要注意什么重要因素