gpt4 book ai didi

python - DecisionTreeClassifier fit() 返回具有相同数据的不同树

转载 作者:行者123 更新时间:2023-11-30 09:54:00 25 4
gpt4 key购买 nike

我一直在玩 sklearn 并使用虹膜数据在线遵循一些简单的示例。

我现在开始使用一些其他数据。我不确定这种行为是否正确,而且我有误解,但每次我调用 fit(x,y) 时,我都会得到完全不同的树数据。因此,当我运行预测时,我会得到不同的差异(大约 10%),即 60%,然后 70%,然后 65% 等等......

我运行下面的代码两次以输出 2 棵树,以便我可以在 Word 中读取它们。我尝试从一个文档中搜索另一个文档中的值,但很多都找不到。我假设 fit(x, y) 总是返回同一棵树 - 如果是这种情况,那么我假设我的 float 训练数据让我很困惑。

clf_dt = tree.DecisionTreeClassifier()
clf_dt.fit(x_train, y_train)
with open("output2.dot", "w") as output_file:
tree.export_graphviz(clf_dt, out_file=output_file)

最佳答案

该算法有一个随机组件,您可以在 user guide 中阅读有关该组件的信息。 。相关部分:

The problem of learning an optimal decision tree is known to be NP-complete under several aspects of optimality and even for simple concepts. Consequently, practical decision-tree learning algorithms are based on heuristic algorithms such as the greedy algorithm where locally optimal decisions are made at each node. Such algorithms cannot guarantee to return the globally optimal decision tree. This can be mitigated by training multiple trees in an ensemble learner, where the features and samples are randomly sampled with replacement.

如果您想每次都获得相同的结果,请将 random_state 参数设置为整​​数(默认为 None),这样您每次都会获得相同的结果.

关于python - DecisionTreeClassifier fit() 返回具有相同数据的不同树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38478015/

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