我试图找出C4.5算法如何确定数值属性的阈值。我已经研究过,但我无法理解,在大多数地方,我发现这些信息:
首先根据考虑的属性Y的值对训练样本进行排序。这些值只有有限的数目,所以让我们将它们按排序顺序表示为{v1,v2,…。、vm}.位于vi和vi+1之间的任何阈值都具有相同的效果,即将情况划分为属性Y的值位于{v1、v2、…的情况下。,以及值为{vi+1、vi+2、…的、vm}.因此,在Y上只有m-1可能的分裂,所有这些都应该被系统地检查以获得一个最优的分裂。 通常选择每个区间的中点:(vi +vi+1)/2作为代表阈值。C4.5为每个区间{ vi,vi+1}选择一个较小的值vi,而不是中点本身。
我正在学习一个Play / not Play (价值表)的例子,并且不明白当状态是晴天时,如何得到属性湿度的数字75 (树生成),因为到阳光状态的湿度值是{70,85,90,95}。
有人知道吗?
发布于 2013-04-19 11:15:57
正如生成的树映像所暗示的那样,您将按顺序考虑属性。你的75个例子属于outlook =阳枝。如果您按照outlook = sunny对数据进行筛选,您将得到下表。
outlook temperature humidity windy play
sunny 69 70 FALSE yes
sunny 75 70 TRUE yes
sunny 85 85 FALSE no
sunny 80 90 TRUE no
sunny 72 95 FALSE no正如你所看到的,湿度的阈值是"< 75“。
j4.8是ID3算法的继承者。它利用信息增益和熵来决定最优分割。根据维基百科
The attribute with the smallest entropy
is used to split the set on this iteration.
The higher the entropy,
the higher the potential to improve the classification here.发布于 2016-01-25 04:47:48
我不完全确定J48,但假设它基于C4.5,它将计算所有可能的拆分的增益(即基于特性的可能值)。对于每一次分割,计算信息增益,选择信息增益最大的分割。在{70,85,90,95}的情况下,计算{70,85,90,95}对{70,85,90,95} vs {70,85,90,95}的信息增益,并选择最佳的信息增益。
昆兰关于C4.5的书是一个很好的起点(https://goo.gl/J2SsPf)。特别见第25页。
https://stackoverflow.com/questions/16097189
复制相似问题