gpt4 book ai didi

python - 如何在我的决策树中获取所有 Gini 指数?

转载 作者:太空狗 更新时间:2023-10-30 01:24:59 29 4
gpt4 key购买 nike

我在这里使用 sklearn 制作了一个决策树,在 SciKit learn DL 包下,即。 sklearn.tree.DecisionTreeClassifier().fit(x,y)

如何在每个步骤中获取所有可能节点的基尼系数? graphviz 只给我 gini 指数最低的节点的 gini 指数,即用于拆分的节点。

例如,下图(来自 graphviz)告诉我 Pclass_lowVMid 右索引的基尼系数为 0.408,但不是 Pclass_lower 或 Sex_male 在该步骤的基尼系数。我只知道 Pclass_lower 和 Sex_male 的基尼系数必须大于 (0.408*0.7 + 0) 但仅此而已。

decision tree

最佳答案

使用 export_graphviz显示所有节点的不纯度,至少在 0.20.1 版本中是这样。

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier, export_graphviz
from graphviz import Source

data = load_iris()
X, y = data.data, data.target

clf = DecisionTreeClassifier(max_depth=2, random_state=42)
clf.fit(X, y)

graph = Source(export_graphviz(clf, out_file=None, feature_names=data.feature_names))
graph.format = 'png'
graph.render('dt', view=True);

enter image description here

所有节点的杂质值也可以在impurity属性中访问。

clf.tree_.impurity
array([0.66666667, 0. , 0.5 , 0.16803841, 0.04253308])

关于python - 如何在我的决策树中获取所有 Gini 指数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53699121/

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