我正在寻找用于机器学习任务的 C4.5 分类器。我有一个包含城市名称的大型数据集,需要区分例如城市名称。安大略省伦敦、英格兰伦敦甚至法国勃艮第的伦敦,但看看周围文本的特征:邮政编码、州名,即使没有提及“加拿大”或“英格兰”。我还可以访问元数据,例如拨号代码,这可以帮助确定它是哪个国家/地区。
经过训练后,我想在大型数据集上运行分类器。
在我发现的所有示例中here结果只有 2 种状态(在这个高尔夫示例中,玩或不玩)。
c4.5 分类器可以将伦敦(加拿大)、伦敦(英格兰)、伦敦(法国)作为结果类处理,还是我需要为伦敦(加拿大)True/False 等使用不同的分类器?
最佳答案
我在你的案例中看到了两个选择。
- 第一种方法是对 c4.5 的直接扩展。在每个叶节点中,您保留所有标签,而不仅仅是大多数标签。例如,如下图所示,红色标签实际上存在于三个不同的叶子中。当您在箭头指向的数据点进行查询时,输出是 3 个标签(绿色、红色和蓝色)及其相应的条件概率
p(c|v)
(给定特征x1
和x2
,数据x
属于类c
的概率是多少)。
- 第二种方法是生成多个决策树,从而生成随机森林。可以通过对每棵树可用的训练数据子集进行随机采样来注入(inject)随机性。在分类时,您可以聚合所有决策树的投票以获得多类分类结果。
这些数字是借用这个优秀的tutorial Andrew Zisserma 的多类分类。
关于machine-learning - 使用具有多个结果的 C4.5 分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031056/