机器学习六 决策树
来源:互联网 发布:替代windows cmd 编辑:程序博客网 时间:2024/06/07 02:11
决策树(Decision Tree)
是一种非常常用的分类算法,也是一种预测模型。在已知各种情况发生概率的情况下,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,它代表的是对象属性与对象值之间的一种映射关系。
缺点:容易出现过拟合(overfitting)的情况,要在适当的时机停止决策树的生长。
from sklearn import treeclf = tree.DecisionTreeClassifier()clf.fit(features_train,labels_train)pred = clf.predict(feature_test)from sklearn.metrics import accuracy_scoreacc = accuracy_score(pred, labels_test)备注:在决策树算法中可以通过为决策树分类器添加参数(例如:min_samples_split)减少算法的复杂度。
熵(Entropy)
对于数据杂质存在而言,熵就是一种衡量数据中存在杂质程度的方法。在使用决策树时,很少需要处理对数底的细节,较低的熵指向更有条理的数据,而且决策树将此用作事件分类方式。
熵公式:Entropy = −∑i(pi)log2(pi)
信息增益(Information Gain)
非对称,用于衡量两种概率分布的差异。衡量标准是看特征能够为分类系统带来多少信息,带来的信息越多,该特征越重要。对于一个特征而言,系统有它和没它时信息量将发生变化,而前后信息量的差值就是这个特征给系统带来的信息量(熵)。
在其他所有方面都相等的情况下,特征数量越多会使决策树的复杂性更高。
缺点:信息增益只能考察特征对整个系统的贡献,而不能具体到某个类别上,这就使得它只适合用来做所谓“全局”的特征选择(指所有的类都使用相同的特征集合),而无法做“本地”的特征选择(每个类别有自己的特征集合,因为有的词,对这个类别很有区分度,对另一个类别则无足轻重)。
information gain = entropy(parent) - sum(entropy(children))
偏差(Bias)、误差(Error)、方差(Variance)
Error = Bias + Variance
Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,
Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。
备注: 数据被整理成一个 numpy 数组后,行数是数据点数,列数是特征数;要提取特征数,只需运行代码 len(features_train[0])
- 机器学习六 决策树
- 应用机器学习(六):决策树
- 机器学习笔记(六) 决策树
- 机器学习算法---决策树
- 机器学习2决策树
- 机器学习-决策树
- 机器学习---决策树
- 机器学习实战---决策树
- 机器学习之决策树
- 机器学习-决策树
- 机器学习实战-决策树
- 面试:机器学习--决策树
- 机器学习实战---决策树
- 机器学习实战 决策树
- 【机器学习】决策树
- 机器学习 之 决策树
- [机器学习实战]-决策树
- 机器学习--决策树
- 180°舵机的使用步骤
- POJ 3258 River Hopscotch<二分>
- 解题报告:HDU_6035 Colorful Tree 树上计数
- golang https server
- 细说 ASP.NET Cache 及其高级用法
- 机器学习六 决策树
- onreadystatechange被多次调用的原因
- 项目采取实施和开发分离
- 系列 《使用sklearn进行集成学习——理论》 《使用sklearn进行集成学习——实践》 目录 1 Random Forest和Gradient Tree Boosting参数详解 2 如何调参?
- oracle数据库 练习一
- nodeJS入门
- MySql的修该表结构与数据语句
- 细说 ASP.NET控制HTTP缓存
- 【最短路 && 把一些点看成一个团】CodeChef