我是机器学习的初学者,正在试验决策树。我正在查看决策树http://scikit-learn.org/dev/_images/iris.svg的可视化,并想知道错误值的含义。是基尼指数还是信息增益还是什么?也会欣赏它直观的含义。
1 回答
在这个具体示例中,节点的“错误”是到达该节点的所有示例的基尼指数。
通常,节点的“误差”取决于具体的杂质标准(例如分类的基尼系数或熵以及回归的均方误差)。
直观地,您可以将杂质标准(基尼系数和熵)都视为衡量多集的同质性的指标。如果多集合主要包含一种类型的元素(这也称为“纯”,因此称为“杂质标准”),则它是同质的。在我们的例子中,多集合的元素是到达相应节点的类标签。当我们分割一个节点时,我们希望得到的分区是纯的——这意味着类被很好地分离(一个分区主要包含一个类的实例)。
在criterion="entropy"
二元分类的情况下,1.0 的错误意味着节点中有相同数量的正负样本(最不均匀的多集)。
您可以访问作为 a 基础的树数据结构,DecisionTreeClassifier
或者DecisionTreeRegressor
通过其tree_
包含扩展类型的 on 对象的属性来访问sklearn.tree._tree.Tree
。该对象将树表示为一系列并行的 numpy 数组。该数组init_error
保存每个节点的初始误差;best_error
如果节点是分裂节点,则保存两个分区的误差之和。有关更多详细信息,请参阅https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx#L45中的类文档。