机器学习——决策树与随机森林
来源:互联网 发布:win10ipv4和ipv6无网络 编辑:程序博客网 时间:2024/05/29 11:07
机器学习——决策树与随机森林
1.决策树的主要元素:根节点、内部节点、叶节点。其中根节点聚集了所有的样本,内部节点表示根据某个特征进行分类,叶节点根据节点内样本数最多的那一类作为输出。2.决策树的主要处理方式:根据信息增益、信息增益率或者基尼系数这三个指标来选取局部最优的分类特征。3.决策树由于是递归过程,所以会出现过拟合现象。需要通过剪枝来使得模型的泛化能力增强。4.决策树主要形式有分类决策树、回归决策树,针对因变量是分类型变量还是连续型变量。
决策树的主要三个算法,主要的区别在于选择特征的标准。
1. ID3算法 (信息增益)
2. C4,5算法 (信息增益率)
3. CART算法 (基尼系数)
信息增益的理论知识:
1.信息熵
2.条件熵
3.互信息
ID3就是通过对所有特征进行信息增益(互信息)的比较,选择使得信息增益最大的变量作为分类特征。
以上是理论指标的定义,在实际样本中,有经验熵,经验条件熵的定义。
经验熵:设样本为D,样本中有K类,每一类的样本量为Ck。
经验熵
经验条件熵
根据特征进行分类后,特征有n个水平,将样本分为n个部分,其中每一个部分属于K类的样本有Cik个。
ID3
经验熵与条件经验熵做差就得到了信息增益(互信息),根据信息增益的大小选择特征作为分类。并且递归的处理下去就会得到一整颗决策树。
C4,5
C4,5算法与ID3不同之处在于,算法使用了信息增益率代替了信息增益,信息增益偏向于选择属性很多的作为特征,会使得决策树变得很庞大,导致过拟合。当使用信息增益率后,可以有效限制选择属性过多的特征来建立决策树,一定程度上防止过拟合。当A属性过多时,
CART
CART算法简称为分类与回归树,选择特征的标准通过基尼系数实现。
分类误差率的实现
import numpy as np from matplotlib import pyplot as plt p=np.linspace(0.001,1,100,endpoint=False) gini=2*p*(1-p) ent=-(p*np.log2(p)+(1-p)*np.log2(1-p))/2 error=1-np.max(np.vstack((p,1-p)),0) plt.plot(p,gini,'r-',label='Gini') plt.plot(p,ent,'b-',label='Entropy') plt.plot(p,error,'g-',label='Error') plt.legend(loc='upper right') plt.show()
鸢尾花数据集python通过决策树实践
import numpy as np from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn import datasets from sklearn.pipeline import Pipeline#读取数据,划分训练集和测试集 iris=datasets.load_iris() x=iris.data[:,:2] y=iris.target x_train, x_test, y_train, y_test = train_test_split(x, y, train_size=0.7, random_state=1) #模型训练 # model=DecisionTreeClassifier(max_depth=3) # model=model.fit(x_train,y_train) model = Pipeline([('ss',StandarScaler()),('DCT',DecisionTreeClassifier(criterion='entropy', max_depth=3)])model = model.fit(x_train,y_train)y_test_hat=model.predict(x_test) res=y_test==y_test_hat acc=np.mean(res) print '训练集上的正确率是%.2f%%'%(acc*100)
阅读全文
0 0
- 机器学习——决策树与随机森林
- 【机器学习】决策树与随机森林
- 机器学习之决策树与随机森林
- Spark 机器学习 —— 从决策树到随机森林
- 机器学习利器——决策树和随机森林
- 机器学习利器——决策树和随机森林
- 机器学习中的算法——决策树模型组合之随机森林与GBDT
- 机器学习中的算法——决策树模型组合之随机森林与GBDT
- 机器学习中的算法——决策树模型组合之随机森林与GBDT
- 机器学习中的算法——决策树模型组合之随机森林与GBDT
- 机器学习总结(四)——随机森林与GBDT(梯度提升决策树)
- 机器学习实战笔记3(决策树与随机森林)
- 机器学习实战笔记3(决策树与随机森林)
- 【机器学习详解】决策树与随机森林算法
- 【机器学习详解】决策树与随机森林算法
- 机器学习面试准备之三、决策树与随机森林
- 【机器学习详解】决策树与随机森林算法
- 机器学习之决策树与随机森林模型
- I2S音频总线学习(二)I2S总线协议
- [转载]livid 写给他自己的
- DIV+CSS实现电台列表设计
- 高雄试点全台首例LoRa路边智慧停车示范项目
- Hibernate3升级Hibernate4.3后报“HHH000223”
- 机器学习——决策树与随机森林
- SQL Server 2008 R2 企业版/开发版/标准版(中英文下载,带序列号)
- 开发中经常用到的20个正则表达式
- 稳定排序和不稳定排序
- 深度解析LoRa与NB-IoT的区别
- unity水面波纹着色器
- Android系统导图
- new和malloc的区别深入解析
- opencv判断摄像头是否断开