决策树之ID3算法

决策树是一种树状结构,它的每一个叶节点对应着一个分类,非叶节点对应着在某个属性上的划分,根据样本在该属性上的不同取值将其划分为若干个子集

构造决策树的核心问题是在每一步如何选择适当的属性对样本做拆分

ID3算法
ID3算法基于信息熵来选择最佳测试属性。它选择当前样本集中具有最大信息增益值的属性作为测试属性

用信息增益值度量不确定性:信息增益值越大,不确定性越小

所以ID3算法在每个非叶节点选择信息增益最大的属性做为测试属性

在这里插入图片描述


import pandas as pd
filename = '../data/xx.xls'
data=pd.read_excel(filename,index_col=u'序号')

data[data == u'是'] =1
data[data == u'好'] =1
data[data == u'高'] =1
data[data != 1] =-1
x=data.iloc[:,:3].as_matrix().astype(int)
y =data.iloc[:,3].as_matrix().astype(int)

from sklearn.tree import DecisionTreeClassifier as DTC
dtc=DTC(criterion='entropy')
dtc.fit(x,y)

from sklearn.tree import export_graphviz
from sklearn.externals.six import  StringIO
with open ('tree.dot','w') as f:
f=export_graphviz(dtc,feature_names = x.columns,out_file = f)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值