Machine learning c4.5的问题

Machine learning c4.5的问题,machine-learning,Machine Learning,我用的是C4.5算法,可以找到 我的名字在这里: Play, Don't Play. Sky: Sunny, Cloudy, Rainy. AirTemp: Warm, Cold. Humidity: Normal, High. Wind: Strong, Weak. Water: Warm, Cool. Forecast: Same, Change. 我的数据在这里 Sunny, Warm, Normal, Strong, Warm, Same, Play Sunny, Warm, Hig

我用的是C4.5算法,可以找到

我的名字在这里:

Play, Don't Play.

Sky: Sunny, Cloudy, Rainy.
AirTemp: Warm, Cold.
Humidity: Normal, High.
Wind: Strong, Weak.
Water: Warm, Cool.
Forecast: Same, Change.
我的数据在这里

Sunny, Warm, Normal, Strong, Warm, Same, Play
Sunny, Warm, High, Strong, Warm, Same, Play
Sunny, Warm, High, Strong, Cool, Change, Play
Rainy, Cold, High, Strong, Warm, Change, Don't Play
我从使用命令运行的算法中获得的输出

c4.5.exe -f v2 -v 1  > v2.r3


不起作用。

您可能只想尝试-c50而不是-c50%。我不知道为什么它不选择Airtemp,因为它应该具有最高的信息增益

我还猜你在用汤姆·米切尔的机器学习书。他的书应该有一些例子,尝试一下,看看它们是如何比较的


编辑:您也在链接的网站上运行了示例吗?如果是,它们是否匹配?

您发布的链接不起作用--我收到一个“403权限被拒绝”错误。我们没有使用Tom Mitchell,您推荐他而不是Etherm Alpaydin吗?到目前为止,我对这本书不太感兴趣,我习惯于从我读的书中获得更多的理论,这本书似乎更实用。此外,我还发现了应用程序的问题。我试过-c50选项,但它不起作用,因为它看起来好像程序正在读取ascii码的数值,例如-cA起作用,给你97%,因为“a”的ascii数值是97。我的解决方案是用不同的默认参数从头开始重新编译程序。我喜欢它,对我来说它看起来真的很体面。不过我还没看过埃瑟姆·阿尔帕丁的书。我查看了代码,它使用了函数转换函数,它将一个表示浮点数的字符串转换成一个C++中的浮点。
C4.5 [release 8] decision tree generator Tue Jan 18 16:41:25 2011
----------------------------------------

    Options:
 File stem <v2>
 Verbosity level 1

Read 4 cases (6 attributes) from v2.data

4 items, total weight 4.0
 best attribute Forecast inf 1.000 gain 0.311 val 0.311
Collapse tree for 4 items to leaf Play

Decision Tree:
 Play (4.0/1.0)



Play (4.00:1.00/2.19)

Tree saved


Evaluation on training data (4 items):

  Before Pruning           After Pruning
 ----------------   ---------------------------
 Size      Errors   Size      Errors   Estimate

    1    1(25.0%)      1    1(25.0%)    (54.7%)   <<
c4.5.exe -f v2 -v 1 -c 0.5  > v2.r3
c4.5.exe -f v2 -v 1 -c 50%  > v2.r3