赞
踩
决策树是一种基本的分类与回归方法
决策树由节点和有向边组成
结点类型: 根节点,内部结点和叶结点
绿色的球代表x,橘色的球代表y
决策树: 可以把决策树看成一个if-then规则的集合
根据不同的目标函数,建立决策树主要有三种算法:
ID3算法(Iterative Dichotomiser 3):
C4.5决策树的引入:
CART(Classification And Regression Trees):
熵是对平均不确定性的度量,对信息量的度量
平均互信息I:得知特征Y的信息而使得对标 签X的信息的不确定性减少的程度
重点内容:
H(D|A)之差,即 g(D,A)=H(D) – H(D|A)
gr(D,A) = g(D,A) / H(A)
基尼系数(基尼不纯度):
基尼系数越小越好
创建分类树递归过程中,CART每次都选择当前数据集中 具有最小Gini系数的特征作为结点划分决策树
分类问题中,假设有K个类,样本属于第k类的概率为Pk, 则概率分布的基尼系数定义为:
概率 = 1-概率的累和(概率的平方之和)
ID3:
取值多的属性,更容易使数据更纯,其信息增益更大。
训练得到的是一棵庞大且深度浅的树:不合理。
【信息增益越大越好】
• C4.5
【信息增益率越大越好】
• CART
一个属性的信息增益(率)/gini指数越大,表明属性对样本的熵减少的能力更强,这个属性使得数据由不确
定性变成确定性的能力越强
【Gini系数越小越好】
决策树对训练属于有很好的分类能力,但对未知的测试数据未必有好的分类能力,泛化能力弱,即可能发生过拟合现象
剪枝
随机森林
• 不需要任何领域知识或参数假设
• 适合高维数据
• 简单易于理解
• 短时间内处理大量数据,得到可行且效果较好的结果
• 对于各类别样本数量不一致数据,信息增益偏向于那些具有更多数值的特征
• 易于过拟合
• 忽略属性之间的相关性
from sklearn.tree import DecisionTreeClassifier
tre = DecisionTreeClassifier()
tre.fit(x_train,y_train)
y_predict = dtc.predict(x_test)
class sklearn.tree.DecisionTreeClassifier(criterion='gini', splitter='best', max_depth=None,
min_samples_split=2, min_samples_leaf =1,
in_weight_fraction_leaf=0.0, max_features=None,
random_state=None, max_leaf_nodes=None,
min_impurity_split=1e-07,
class_weight=None, presort=False)
1)*criterion:string类型,可选(默认为"gini")
衡量分类的质量。支持的标准有"gini"代表的是Gini impurity(不纯度)与"entropy"代表的是information gain(信息增益)。
s=None,
random_state=None, max_leaf_nodes=None,
min_impurity_split=1e-07,
class_weight=None, presort=False)
*****
#### 决策树参数解释
1)*criterion:string类型,可选(默认为"gini")
衡量分类的质量。支持的标准有"gini"代表的是Gini impurity(不纯度)与"entropy"代表的是information gain(信息增益)。
特征选择的标准,有信息增益和基尼系数两种,使用信息增益的是ID3和C4.5算法(使用信息增益比),使用基尼系数的CART算法,默认是gini系数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。