决策树分类原理

                                                  “简单来说,决策树就是设计分支判断条件”

        大家都学过数据结构,其中的树形结构都了然于心,决策树就可以看成是,每一个分叉处做出条件,满足哪一个,就继续向下走,直到把树遍历完成为止。

        既然都说到这份上了,决策树的关键一定不是预测,毕竟遍历的操作和if...else...大家都会,条件也会给出来,那决策树重要的一点在于什么呢?

“建树”

        关键在于怎样生成决策树:

        依据什么标准或者指标去生成,到底哪个特征放在前面(哪个作为权重最大的,最能区分的)

量化分类区分:

                信息熵

                基尼系数(评估一个分类区分度)

“信息熵”:

 想必大家高中都学过“熵”这个概念:熵越大越不平衡

        信息熵越小,分类区分度越好,排前面 ,信息熵越大(越不确定,意味着越糊涂)

用我们陈老师的话来说就是:把聪明的特征区分排前面!!!!

“基尼系数”:

                                                基尼系数越小,意味着信息越确定

 而这两个比较下来的话,算法时间复杂度的角度:推荐基尼系数

                                                

直观的看一下分类的图:

 一就是一二就是二,如果切割的很细,就容易出现过拟合

                好的,懂得了工式和原理,我们写一个DecisionTree类(代码注释均已标出),这样更加便于理解:

样本点:

 

dt = DecisionTree()
dt.fit(X,y)
print(dt.tree)

调用后生成的树:

预测新样本:

 

dt.predict(t,r)
print(r)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值