【问题标题】:Decision tree has 2 similar nodes决策树有 2 个相似节点
【发布时间】:2017-09-19 14:59:48
【问题描述】:

我使用 sklearn 创建了一个决策树。

from sklearn import tree
clf = tree.DecisionTreeClassifier(max_depth=3)
clf = clf.fit(X, Y)

数据框 X 中的参数是 - 'Company size''Industry_other''Account size''Country''Use case 1'

尝试使用export_graphviz 可视化树时,我得到了 2 个相似的节点:

得到相似节点的原因是什么?如何阅读这棵树?

【问题讨论】:

  • 你有这个节点在同一层,所以一切正常。这仅意味着,对于大于和小于 0.5 的 Industry_OtherCompany size (<= 1.5) 的决策规则是相同的。

标签: python-3.x machine-learning scikit-learn decision-tree supervised-learning


【解决方案1】:

为了简化解释,我会用字母来解释。你的树看起来像这样:

A -> B
|
 \-> C -> D -> F
     |     \-> G
     |
      \-> E -> H
           \-> I

A 是您的 root 节点,DE 您所说的节点是相似节点

在您的图表中,节点 A 分为两部分,BC。带有Account size < 19969 的数据样本转到C,否则转到B

在到达C 的样本中,带有Industry other <= 1.5 的样本转到E,其他样本转到D。在这里,ED 看起来相同,因为它们学习了相同的规则,但该规则适用于不同的数据样本。

这是,从到达E 的样本中,带有company size < 1.5 的样本转到I 和其他到H,类似的情况适用于D

希望它更清楚,我没有让你更困惑。

本质上,他们学习了相同的规则,但将其应用于不同的样本。换句话说,DE 都知道将到达它们的样本分成两组的最佳规则是相同的。但是,到达他们的样本具有不同的性质(准确地说是不同的Industry_other)。

也可以理解为Company_size 有助于区分样本,而不管它们的Industry_other

【讨论】:

    猜你喜欢
    • 2015-01-31
    • 2019-02-08
    • 2019-01-28
    • 2017-03-26
    • 1970-01-01
    • 2017-01-21
    • 2021-06-17
    • 2020-01-27
    • 2016-06-17
    相关资源
    最近更新 更多