携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
D3不保证最优解; 但它可能达到局部最优。它使用一种贪婪的方法,在每次迭代中选择最好的属性来分割数据集。算法的一个改进是在搜索最优决策树时使用回溯。
ID3能够过度拟合训练数据。为了避免过度拟合,较小的决策树应该优于较大的决策树。这种算法通常生成小树,但并不总是生成最小的树。
ID3很难在连续数据上使用。如果任何给定属性的值都是连续的,那么就有更多的地方可以对该属性进行数据分割,搜索要分割的最佳值可能会很耗时。
ID3的使用:
ID3算法通过对数据集S的训练来生成存储在内存中的决策树。在运行时,通过沿着这个使用测试用例的值到达终端节点,该节点告诉您此测试用例属于哪个类的决策树来分类新的未见测试用例(数据)。
熵和信息增益:
熵H (S)是指(数据)集合S中不确定性的量(无法确定数据集的具体类别)(即用熵表征(数据)集合S)。一个很形象但科学上不太精准的对熵的解释是将其理解为无序或者混乱度的衡量标准。
其中
S:计算熵的当前(数据)集(在ID3算法的每次迭代中改变)
X:集合S中类的集合
p(x): 类x中元素数量与集合S中元素数量的比例
当H(S) = 0时,集合S被完全分类(即S中的所有元素都属于同一类)。
在ID3中,对每个剩余的属性计算熵。最小熵的属性用于在这个迭代中分割集合S。熵越高,改进分类的潜力就越大。
信息增益:****
信息增益IG(A)是对数据集S被属性A分割前后熵值差的度量。换句话说,在属性A上分割集合S后,S中的不确定性减少了多少。
其中,
H(S):集合S的熵