4.1
不含有特征向量相同但标记不同的冲突数据 and 决策树按照属性特征来划分,相同属性特征的样本最终会进入同一个叶子节点 >- 如果含有特征向量相同但标记不同的冲突数据 >- 必然至少存在一对样本,属性相同而分类不同,即产生了训练误差 >- 不含有特征向量相同但标记不同的冲突数据
4.2
简单的使用最小误差原理会导致机器学习产生严重的过拟合,严重影响机器学习的泛化能力。
4.3
https://blog.csdn.net/wzmsltw/article/details/51039928
信息熵(香农熵)计算公式为 $Ent(D)=-\sum_{k=1}^{|y|}p_{k}log_{2}p_{k}$ 其中,$p_{k}$是当前样本集合D中第k类样本所占比例,|y|代表共有多少类样本,计算香农熵主要就是计算$p_{k}=\frac{第k类样本的数量}{样本总数}$ ,而第k类样本的数量可以通过建立字典来统计,样本总数就简单了。
香农熵的实现代码:
def calcShannoEnt(dataset):
from math import log
total_number = len(dataset)
label_dict = {}
for data_line in dataset:
label = data_line[-1]
label_dict[label] = label_dict.get(label,0) + 1
#计算香农熵
ShannoEnt = 0
for key in label_dict.keys():
prob = float(label_dict[key]) / total_number
ShannoEnt -= prob * log(prob, 2)
return ShannoEnt
原文:https://www.cnblogs.com/zwtgyh/p/10713179.html