gpt4 book ai didi

.net - C4.5 算法如何处理连续数据?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:58:33 24 4
gpt4 key购买 nike

我正在实现 C4.5 algorithm.net 中,但是我不清楚它如何处理“连续(数字)数据”。谁能给我更详细的解释?

最佳答案

对于连续数据,C4.5 使用阈值,所有小于阈值的都在左节点,所有大于阈值的都在右节点。问题是如何根据您提供的数据创建该阈值。诀窍是按连续变量按升序对数据进行排序。然后遍历数据,在数据成员之间选择一个阈值。例如,如果您的属性 x 的数据是:

0.5, 1.2, 3.4, 5.4, 6.0

您首先选择一个介于 0.5 和 1.2 之间的阈值。在这种情况下,我们可以只使用平均值:0.85。现在计算你的杂质:

H(x < 0.85) = H(s) - l/N * H(x<0.85) - r/N * H(x>0.85).

其中l为左节点的样本数,r为右节点的样本数,N为被拆分节点的样本总数。在我们上面的示例中,x>0.85 作为我们的拆分,然后 l=1、r=4 和 N=5。

记住计算的杂质差异,现在计算它用于 2 和 3 之间的拆分(即 x>2.3)。对每个拆分重复此操作(即 n-1 个拆分)。然后选择使 H 最小化最多的拆分。这意味着你的 split 应该比不 split 更纯粹。如果您不能提高结果节点的纯度,则不要拆分它。您还可以设置最小节点大小,这样您就不会以只包含一个样本的左节点或右节点告终。

关于.net - C4.5 算法如何处理连续数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15629398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com