概述
C4.5决策树连续值处理
rr={0.697:1,0.774:1,0.634:1,0.608:1,0.556:1,0.403:1,0.481:1,0.437:1}
a=[0.243,0.245,0.343,0.36,0.403,0.437,0.481,0.556,0.593,0.608,0.634,0.639,0.657,0.666,0.697,0.719,0.774]
# b=[0.244, 0.294, 0.352, 0.382, 0.42, 0.459, 0.518, 0.575, 0.601, 0.621, 0.637, 0.648, 0.661, 0.681, 0.708, 0.746]
b=[]
for i in range(1,len(a)):
b.append(round((a[i-1]+a[i])/2,3))
for data in b:
sum_1,sum_2=[0,0],[0,0]
for i in range(len(a)):
if a[i]>=data:
break
for c in a[:i]:
if rr.get(c):
sum_1[0]+=1
else:
sum_1[1]+=1
for c in a[i:]:
if rr.get(c):
sum_2[0]+=1
else:
sum_2[1]+=1
# print(a[:i],a[i:])
print(data,sum_1,sum_2)
print(len(a))
0.244 [0, 1] [8, 8]
0.294 [0, 2] [8, 7]
0.352 [0, 3] [8, 6]
0.382 [0, 4] [8, 5]
0.42 [1, 4] [7, 5]
0.459 [2, 4] [6, 5]
0.518 [3, 4] [5, 5]
0.575 [4, 4] [4, 5]
0.601 [4, 5] [4, 4]
0.621 [5, 5] [3, 4]
0.637 [6, 5] [2, 4]
0.648 [6, 6] [2, 3]
0.661 [6, 7] [2, 2]
0.681 [6, 8] [2, 1]
0.708 [7, 8] [1, 1]
0.746 [7, 9] [1, 0]
最后
以上就是超级流沙为你收集整理的C4.5决策树中的连续值处理(取平均值进行分割)的全部内容,希望文章能够帮你解决C4.5决策树中的连续值处理(取平均值进行分割)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复