【问题标题】:C4.5 algorithm with unbounded attributes具有无限属性的 C4.5 算法
【发布时间】:2013-04-17 16:53:18
【问题描述】:

当前在 VFDT (http://www.cs.washington.edu/dm/vfml/vfdt.html) 中的 C4.5 实现或任何其他实现都使用 C4.5 格式的文件为构建决策树提供输入。据此,属性可以具有以下格式:

连续 如果属性具有连续值。

离散 “离散”一词后跟一个整数,表示属性可以取多少个值。

标识符列表 这是一个具有枚举值的离散属性(这是离散属性的首选方法)。标识符应以逗号分隔。

忽略 表示该属性应该被忽略 - 它不会被使用。

有谁知道我们如何指定离散值属性,其完整的可能值集太大而无法列出?

例如“IP-Address”属性可以有 Math.Pow(255,4) 可能的离散值; “QueryString”属性可以有无数个可能的值……等等。

C4.5 算法能否处理属性具有 100,000 个离散的不同值的情况,或者不知道确切界限但只知道近似值的情况?

谢谢。

【问题讨论】:

  • C4.5 是一个相当古老的算法(SVM 也显示了它们的年龄)。

标签: algorithm machine-learning


【解决方案1】:

通常的选择是枚举训练集中出现的离散特征的所有值。由于该算法永远无法为训练期间未看到的值收集足够的统计信息,因此无论您如何实现它们都会被忽略。

请注意,无论如何,收集此类功能的统计数据非常困难,因此您可能需要考虑不同的表示。特别是,多词的文本字符串可以被标记化并被视为bags of words

【讨论】:

  • 感谢@larsmans 的回复。详细回复请见下文。
  • 当特征数量巨大时,词袋方法绝对有用。因此,我可以将查询字符串中的每个 IP 或每个单词视为一个单独的特征。使用这种方法,SVM 算法似乎比 C4.5 更准确。一些研究表明情况确实如此 >(Pang、Bo、Lillian Lee 和 Shivakumar Vaithyanathan。2002。竖起大拇指?> 使用机器学习技术进行情感分类。在 > Proceedings of the 2002 Conference on Empirical Methods in Natural > 语言处理(EMNLP),第 79-86 页。)。
  • 所以我猜这个问题的答案是“不可能,选择另一种算法,如 SVM”。我仍然想知道是否有人知道这种情况的完美解决方案(可以处理具有数百万个可能离散值的特征的最佳算法)。谢谢。
  • @whywhywhy:很大程度上取决于问题,但我个人总是用线性模型(线性 SVM 或逻辑回归)开始机器学习实验,尤其是。在处理具有大量特征的数据时。这些模型倾向于优雅地扩大规模。
猜你喜欢
  • 2013-04-12
  • 2017-06-22
  • 2017-07-02
  • 1970-01-01
  • 2017-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多