如何计算Quinlan C4.5算法中数值属性的阈值?

Fab*_*zio 5 artificial-intelligence decision-tree weka

我试图找到C4.5算法如何确定数字属性的阈值.我已经研究过,无法理解,在大多数地方我都找到了这些信息:

首先根据所考虑的属性Y的值对训练样本进行排序.这些值只有有限数量,所以让我们按照{v1,v2,...,vm}的排序顺序表示它们.位于vi和vi + 1之间的任何阈值将具有相同的效果,即将案例划分为属性Y的值位于{v1,v2,...,vi}的值和值为{vi + 1,vi的值+ 2,...,vm}.因此在Y上只有m-1个可能的分裂,所有这些分裂都应该系统地检查以获得最佳分裂.

通常选择每个间隔的中点:(vi + vi + 1)/ 2作为代表性阈值.C4.5为每个区间{vi,vi + 1}选择较小的值vi作为阈值,而不是中点本身.

我正在研究播放/不播放(值表)的示例,并且当状态为晴天时,不理解如何获得属性湿度的数字75(树生成),因为湿度值为晴天状态为{ 70,85,90,95}.

有人知道吗?

Ati*_*gur 4

正如生成的树图像所暗示的那样,您按顺序考虑属性。您的 75 示例属于 Outlook = sunny 分支。如果您根据 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
Run Code Online (Sandbox Code Playgroud)

如您所见,这种情况下的湿度阈值是“< 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.
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的回复。是的,我同意你写的表格。但问题是75这个数字在哪里?如何通过湿度值得到数字 75(设置:{70,85,90,95})? (2认同)