机器学习-决策树实现-python

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习-决策树实现-python相关的知识,希望对你有一定的参考价值。

今天翻自己的书库的时候,才发现了之前买的一本《机器学习导论》。随手翻了翻,就直接看到了之前看到的决策树实现的问题理论。

闲来无事,也就得写点代码来play 一下:

决策树的概念想必大家都十分熟悉,特别想我们小时候玩的跳方格的游戏。或者说我们之前玩的你猜我猜的游戏,猜不对继续猜,总有一天你会猜对额

为了确定从哪一个特征来进行判别,我们需要一个衡量标准来分类。

 

1…香农熵

2…信息增益

那我们来实现第一个……香农熵

 

from math import log 
def calcShannonEnt(dataset)
       numEntries =len(dataset):
        labelCounts={}
        for featureVector  in dataset :
        currentLabel=featVec[-1]
        if currentLabel not in labelCounts.keys():
            labelCounts[currentLabel]=0
        labelCounts[currentLabels]+=1
shannonEnt=0.0
for key in labelCounts:
        prob=float(labelCounts[key])/numEntries
        shannonEnt-=prob*log(prob,2)
return shannonEnt

 这个代码借鉴了机器学习实战的代码,事实上该段代码具有可重复利用性。

以上是关于机器学习-决策树实现-python的主要内容,如果未能解决你的问题,请参考以下文章

机器学习-决策树实现-python

机器学习实战笔记(Python实现)-02-决策树

Python机器学习(十九)决策树之系列二—C4.5原理与代码实现

Python机器学习算法之决策树算法

实验三:CART回归决策树python实现(两个测试集)|机器学习

机器学习决策树ID3算法,手把手教你用Python实现