【问题标题】:Decision tree with high cardinality attribute具有高基数属性的决策树
【发布时间】:2014-02-24 15:26:35
【问题描述】:

我想学习一个具有合理离散目标属性的决策树,该属性具有 5 个可能的不同值。 但是,有一些离散的高基数输入属性(1000 种不同的可能字符串值),我想知道包含它们是否有意义。在包含一个属性来训练决策树时,最大基数应该是多少?

【问题讨论】:

    标签: machine-learning classification decision-tree cardinality


    【解决方案1】:

    没有最大基数,没有。当然,您可以省略实际未出现在数据中的值。

    您将不得不使用直接处理多标签分类特征的 RDF 实现,而不是将它们转换为一系列二进制指标特征。

    对于具有 N 个值的分类特征,该特征有 2^N - 2 个可能的决策规则,这太多了,无法考虑。我使用的启发式方法是在将数据除以 N 个分类特征值时计算目标的熵。然后按熵对值进行排序,并通过考虑该列表的前缀来评估您获得的 N-2 条规则。

    【讨论】:

    • 我知道 OP 没有在问题中发布任何代码,但是很高兴看到一些伪代码来代表您在此处描述的过程......我在高维数据集(>3000 个特征),并且正在寻找一种有条不紊的方法来设置最大基数的阈值,所以我知道哪些特征可以一次性编码,哪些特征需要丢弃或预处理成更粗略的分组
    • 这听起来像是不同的设置(许多特性,与具有许多值的特性)和不同的过程(我不建议删除特性)。大多数实现不需要您对分类特征进行一次性编码,所以我不会这样做。决策树过程自然会进行特征选择,因为它随机尝试特征并保留有用的决策规则。无论如何,生成的森林只会使用您的一些特征,这意味着您可以从数据中删除这些特征。
    猜你喜欢
    • 2012-07-21
    • 2016-11-11
    • 2011-01-18
    • 2011-04-10
    • 2014-04-12
    • 2016-08-27
    • 1970-01-01
    • 2016-07-08
    • 2017-06-22
    相关资源
    最近更新 更多