gpt4 book ai didi

python - scikit-learn ExtraTreeClassifier 和 RandomForestClassifier 的图

转载 作者:太空宇宙 更新时间:2023-11-03 17:47:44 25 4
gpt4 key购买 nike

我正在尝试制作一些图表来说明 scikit-learn 中 RandomForestClassifier 和 ExtraTreeClassifier 之间的区别。我想我可能已经弄清楚了,但我不确定。这是我的代码,用于拟合虹膜数据集并绘制图表:

import numpy as np
from sklearn.datasets import load_iris
from sklearn.externals.six import StringIO
from sklearn import tree
import pydot

iris = load_iris()

X = iris.data
y = iris.target

clf = tree.ExtraTreeClassifier()

clf = clf.fit(iris.data, iris.target)


dot_data = StringIO()
tree.export_graphviz(clf, out_file=dot_data)
graph = pydot.graph_from_dot_data(dot_data.getvalue())
file_name = "et_iris.pdf"
graph.write_pdf(file_name)

clf = tree.DecisionTreeClassifier()

clf = clf.fit(iris.data, iris.target)


dot_data = StringIO()
tree.export_graphviz(clf, out_file=dot_data)
graph = pydot.graph_from_dot_data(dot_data.getvalue())
file_name = "rdf_iris.pdf"
graph.write_pdf(file_name)

生成的图表看起来是正确的,ET 图比决策 TreeMap “更密集”。

DecisionTreeClassifier 与 RandomForestClassifier 中的一棵树相同,ExtraTreeClassifier 与 ExtraTreeClassifier 中的一棵树相同,我是否正确?

有没有办法对实际 RDF 或 ET 分类器中的所有树执行此操作?我尝试在森林中使用 .estimators_ 但他们似乎没有导出方法。

Extra Tree Graph

RDF Graph

最佳答案

export_graphviz 不是一个方法,它是一个函数。没有一棵树“拥有”它。您可以将其与estimators_一起使用。您认为 ExtraTreeClassifierExtraTreesClassifier 中的一棵树,而 DecisionTreeClassifierRandomForestClassifier 中的一棵树,这是正确的。然而,这并没有真正涵盖它,因为:

  • RandomForestClassifier 单独引导每棵树的数据集,ExtraTreesClassifier 不引导(默认情况下)。

  • max_features=n_features 默认情况下为单棵树,即所有特征都可以在每个拆分中使用。

关于python - scikit-learn ExtraTreeClassifier 和 RandomForestClassifier 的图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29548930/

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