id3java_ID3算法Java实现
ID3算法java实现
1 ID3算法概述
1.1 信息熵
熵是⽆序性(或不确定性)的度量指标。假如事件A的全概率划分是(A1,A2,...,An),每部分发⽣的概率是(p1,p2,...,pn)。那信息熵定义为:
通常以2为底数。所以信息熵的单位是bit。
1.2 决策树
决策树是以实例为基础的归纳学习算法。它从⼀组⽆次序、⽆规则的元组中推理出决策树表⽰形式的分类规则。它採⽤⾃顶向下的递归⽅式。在决策树的内部结点进⾏属性值的⽐較,并依据不同的属性值从该结点向下分⽀,叶结点是要学习划分的类。从根到叶结点的⼀条路径就相应着⼀条合取规则,整个决策树就相应着⼀组析取表达式规则。
1.3 ID3算法
ID3算法的核⼼是:在决策树各级结点上选择属性时,⽤信息增益(information gain)作为属性的选择标准,以使得在每个⾮叶结点进⾏測试时,能获得关于被測试记录最⼤的类别信息。其详细⽅法是:检測全部的属性,选择信息增益最⼤的属性产⽣决策树结点,由该属性的不同取值建⽴分⽀,再对各分⽀的⼦集递归调⽤该⽅法建⽴决策树结点的分⽀,直到全部⼦集仅包括同⼀类别的数据为⽌。
最后得到⼀棵决策树,它能够⽤来对新的样本进⾏分类。
2 取样实验
样本数据:
outlook
temperature
huitong
humidity
windy
play
sunny
hot
多米尼克 斯特劳斯 卡恩high
FALSE
no
sunny
hot
high
TRUE
no
overcast
mild high FALSE yes
化妆课程班rainy cool normal FALSE yes
rainy cool normal TRUE
no overcast cool normal TRUE yes sunny mild high FALSE no sunny cool normal FALSE yes
sunny
mild
normal
ntr什么意思TRUE
yes
overcast
mild
什么是最大公约数
high
TRUE
yes
overcast
admire是什么意思
hot
normal
FALSE
yes
rainy
八年级上册英语单词领读mild
high
TRUE
No
统计数据:(便于计算熵值) outlook
temperature
humidity
windy
play
yes
no
yes
yes
no sunny
2
bernardini
3
hot
2
2
high
3
4 FALSE 6
2
9
5 overcast 4
mild
4
2
normal 6
1
TRUR
3
3
rainy
2.1 Outlook为sunny时:temperature
humidity
windy
play
hot
high
FALSE
no
hot
high
TRUE
no
mild
high
FALSE
no
cool
normal
FALSE
翻译专业yes
mild
normal
TRUE
yes
考研分数什么时候出来temperature
humidity
windy
play