gpt4 book ai didi

python - scikit-learn DecisionTreeClassifier.tree_.value 有什么作用?

转载 作者:太空宇宙 更新时间:2023-11-04 07:56:38 25 4
gpt4 key购买 nike

我正在研究 DecisionTreeClassifier 模型,我想了解模型选择的路径。所以我需要知道什么值给了

DecisionTreeClassifier.tree_.value

最佳答案

好吧,您是对的,因为文档实际上对此含糊不清(但老实说,我也不确定它的用处)。

让我们复制 documentation 中的示例虹膜数据:

from sklearn.datasets import load_iris
from sklearn import tree
iris = load_iris()
clf = tree.DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)

请求 clf.tree_.value,我们得到:

array([[[ 50.,  50.,  50.]],
[[ 50., 0., 0.]],
[[ 0., 50., 50.]],
[[ 0., 49., 5.]],
[[ 0., 47., 1.]],
[[ 0., 47., 0.]],
[[ 0., 0., 1.]],
[[ 0., 2., 4.]],
[[ 0., 0., 3.]],
[[ 0., 2., 1.]],
[[ 0., 2., 0.]],
[[ 0., 0., 1.]],
[[ 0., 1., 45.]],
[[ 0., 1., 2.]],
[[ 0., 1., 0.]],
[[ 0., 0., 2.]],
[[ 0., 0., 43.]]])

len(clf.tree_.value)
# 17

要了解这个数组究竟代表什么,查看树可视化很有用(也可在文档中获得,为方便起见在此处复制):

enter image description here

正如我们所见,这棵树有 17 个节点;仔细观察,我们看到每个节点的 value 实际上是我们的 clf.tree_.value 数组的一个元素。

所以,长话短说:

  • clf.tree_.value 是数组的数组,长度等于树中的节点数
  • 它的每个元素数组(对应于一个树节点)的长度等于类的数量(这里是 3 个)
  • 这些 3 元素数组中的每一个都对应于最终出现在每个类的相应节点中的训练样本的数量。

为了通过示例阐明最后一点,请考虑数组的第二个元素 [[ 50., 0., 0.]](对应于橙色节点) : 它说,在这个节点中,最终有来自类别 #0 的 50 个样本,以及来自其他两个类别(#1 和 #2)的零个样本。

关于python - scikit-learn DecisionTreeClassifier.tree_.value 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47719001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com