Python 回忆录
2020/05/13
决策树
决策树其实就是一直不断地if else 条件筛选。但是那个条件放在开始哪个条件放在最后 这就有一个条件的权重问题了。这时候就会有信息增益和信息熵的概念
信息熵
就是特征的不确定性,算是一个概率问题。比如32支球队 争夺冠军。 在不知道任何球队信息的时候, 每个球队得到冠军的概率d都是一样 1/32,所以 信息熵就是log32 就是5比特。当假如知道哪个球队强的话 改变了那支球队获胜的概率 那么这个信息熵就会比5比特小。
所以说信息和消除不确定性是相关的 信息熵越大,不确定性越大,最后结果就容易预测不准确
信息增益
所以说 :当得到一个信息对信息熵减小的程度就叫信息增益也就是能对增加预测结果的概率 那就是信息增益。
练习使用
一个银行贷款审核表,能不能贷款是目标特征。 先确定下信息熵 H(类别)=-(9/15log(9/15) - 6/15log(6/15)≈ 0.971. 这个信息熵也就是信息增益公式中的H(D)
计算出每个类别的信息增益:年龄特征有青年,中年,老年三个结果 所以:g(D,年龄)= H(类别)-[5/15H(青年)+5/15H(中年)+ 5/15H(老年)]。 再算出青年的信息熵,中年的信息熵,老年的信息熵 便能得出年龄特征的信息增益是多少。 青年的信息熵H(青年)= (2/5log(2/5) -3/5log(3/5) ) 代入上面信息增益的公式 得到青年的信息增益。然后再比较其他特征的信息增益,便能知道哪个特征影响最大,哪个特征就放在第一位决策树
决策分类方式
1.id3:信息增益最大的准则
2.C4.5:信息增益比最大准则
3.CART: 回归树:平方误差最小 分类树:基尼系数最小准则(在sklearn中可以选择划分的默认原则)
决策树API
class sklearn.tree.DecisionTreeClassifier(criterion='gin