亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

一只菜雞的決策樹入門(一)

標簽:
Python

对于一个python入门级,统计概率学一般并且还要上班搬砖的人来说,机器学习是真痛苦啊。

1、对于决策树的理解,书上有一个简明的例子,二十个问题游戏,参与者脑子里有一个事物,其他人提问20次用来缩小事物所在范围,最终给出答案,因此决策树更像是根据已知条件从而预测结果的一种模型。树上的每一个分叉路径代表某个特征,每个叶子节点对应从根节点到叶子节点所经历的特征的值。

2、ID3算法,基于奥卡姆剃刀原理,即在得到相同结果的算法中,选简单的那一个。在决策树里,小树优于大树,个人理解是不是因为树越大,特征越多,混乱性越高,划分过程较复杂,结果的可释性下降?

3、信息增益和熵,信息论中:期望信息越小,信息增益越大,信息纯度越高。熵则定义为信息的期望值。熵描述的是混乱程度,起初用于物理中,计算公式是由求期望E(x) = xp 的公式演变而来:H = -\sum _{i=1}^{n}p(x_{i})log_{2} p(x_{i}), 计算方式如下:

# 计算数据集当前的熵from math import logdef calcShang(dataSet):num = len(dataSet) #待分类特种总体数量,计算概率公式中的分母labels = {} #存储各种分类的字典for lists in dataSet:sublabels = list[-1]if sublabels not in labels.keys():labels[sublabels] = 0labels[sublabels] += 1Shang = 0.0for key in labels:p = float(labels[key]) / numShang -= p * log(p,2)return Shang

此外,所谓的信息增益即用初始的熵减去根据特征划分后计算的熵,即H_{gain} = H_{base} - H_{sub},感觉就是比较数据划分前后的混乱程度,大于0则混乱程度降低,即有序性较高,分类效果越好。在使用公式之前,先按给定的特征划分数据集:

# 按给定的特征划分数据集def splitdataset(dataSet,mark,value):newSet = []for vecList in dataSet:if vecList[mark] == value:subList = vecList[:mark]subList.extend(vecList[mark+1:])newSet.append(subList)return newSet

    接着,找出信息增益最大的特征:

# 划分数据集的最优特征def findbestfeature(dataSet):numOffeature = len(dataSet) - 1 #最后一列为类别标签,计算用于分类的特征数量baseShang = calcShang(dataSet) #学习目标当前信息的熵gainShang = 0.0; bestFeature = 1 #初始化信息增益和最优特征for i in range(numOFfeature):mark = [example[i] for example in dataSet] #属性列表uniqMark = set(mark) #属性去重,生成列表newShang = 0.0 for value in uniqMark:subDataSet = splitdataset(dataSet,i,value) #返回根据属性划分后的数据列表p = len(subDataSet) / float(len(dataSet)) #计算属性概率newShang += p * calcShang(subDataSet) #计算属性信息熵并求和plusShang= baseShang - newShangif plusShang > gainShang:gainShang = plusShang #取信息增益最大特征bestFeature = i #i对应最优特征位置return bestFeature

   对于学习目标来说,特征有多个,每个特征的分类效果不同,特征与学习目标映射,真是日了狗了。

原文出处:https://blog.csdn.net/oldog_1991/article/details/81217629

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消