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_
属性访问位于DecisionTreeClassifier
或DecisionTreeRegressor
基础的树数据结构,该属性包含扩展类型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决策树可视化:错误值的含义的主要内容,如果未能解决你的问题,请参考以下文章