Scikit决策树可视化:错误值的含义

Posted

技术标签:

【中文标题】Scikit决策树可视化:错误值的含义【英文标题】:Scikit Decistion Tree Visualization: meaning of error value 【发布时间】:2012-11-11 08:27:52 【问题描述】:

我是机器学习的初学者,正在试验决策树。 我正在查看决策树http://scikit-learn.org/dev/_images/iris.svg 的这种可视化,并想知道错误值的含义。是基尼指数还是信息增益还是什么?也会欣赏它直观的含义。

【问题讨论】:

直观的意思很简单:如果你遍历树到那个节点,然后做出它建议的预测,它就是真正分类错误的代理(图中显然没有显示......) . 【参考方案1】:

在这个具体示例中,节点的“错误”是到达该节点的所有示例的基尼指数。

一般来说,节点的“误差”取决于具体的杂质标准(例如分类的基尼系数或熵以及回归的均方误差)。

直观地说,您可以将杂质标准(基尼系数和熵)都视为衡量多集的同质性的指标。 如果多集合主要包含一种类型的元素(这也称为“纯”,因此称为“杂质标准”),则它是同质的。 在我们的例子中,多集合的元素是到达相应节点的类标签。 当我们分割一个节点时,我们希望得到的分区是纯的——这意味着类被很好地分离(一个分区主要包含一个类的实例)。

criterion="entropy" 和二元分类的情况下,1.0 的错误意味着节点中的正负样本数量相等(最不均匀的多集)。

您可以通过其tree_ 属性访问位于DecisionTreeClassifierDecisionTreeRegressor 基础的树数据结构,该属性包含扩展类型sklearn.tree._tree.Tree 的on 对象。该对象将树表示为一系列并行的 numpy 数组。数组init_error保存了每个节点的初始误差;如果节点是分裂节点,best_error 保存两个分区的错误之和。 有关详细信息,请参阅 https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx#L45 中的类文档。

【讨论】:

以上是关于Scikit决策树可视化:错误值的含义的主要内容,如果未能解决你的问题,请参考以下文章

以 png 或 pdf 可视化 scikit-learn/sklearn 多输出决策树回归

scikit-learn决策树算法类库使用小结

scikit-learn决策树算法类库使用小结

决策树随机森林结果可视化

决策树随机森林结果可视化

Spark(pyspark)中的决策树模型如何可视化?