首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C4.5算法如何处理属性相同但结果不同的数据?

C4.5算法如何处理属性相同但结果不同的数据?
EN

Stack Overflow用户
提问于 2017-03-25 07:51:53
回答 1查看 187关注 0票数 1

我正在尝试用C4.5算法为一个学校项目创建一棵决策树。决策树是针对Haberman's Survival Data Set的,属性信息如下。

代码语言:javascript
复制
Attribute Information:

1. Age of patient at time of operation (numerical)
2. Patient's year of operation (year - 1900, numerical)
3. Number of positive axillary nodes detected (numerical)
4. Survival status (class attribute)
    1 = the patient survived 5 years or longer
    2 = the patient died within 5 year

我们需要实现一个决策树,其中每个叶必须有一个不同的结果(这意味着叶的熵应该是0),但是有六个实例具有相同的属性,但结果不同。

例如:

代码语言:javascript
复制
66,58,0,2
66,58,0,1

C4.5算法在这种情况下会做什么,我到处都找过了,但找不到任何信息。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-01-24 03:53:00

阅读Quinlan,J.R.C4.5:机器学习程序。摩根·考夫曼出版社,1993年。(如果你有大学作业,学习C4.5是一个很好的选择)

从我的研究来看。看起来像是在第137页,源代码清单build.c

有一行

//* if all case are the same.... or there are not enough case to divide (和你的问题一样)

它将return Node

此节点来自

Node = Leaf(ClassFreq, BestClass, Cases, Cases-NoBestClass);

ClassFreq存储每个类的计数

BestClass存储是占主导地位的类(大多数情况),它存储有多少数据

NoBestClass存储BestClass的多少数据此叶函数来自文件Trees.c此叶函数将返回一个叶为bestClass (Best class become the leaf)的节点。

所有这些信息参考昆兰,J.R.C4.5:机器学习程序。摩根·考夫曼出版社,1993年。

任何知道这一点的人,如果我做错了什么,请发表评论。谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43010933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档