gpt4 book ai didi

machine-learning - 决策树产生不同的输出

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

我目前正在使用决策树(使用 Scikit Learn)来预测某些值。我面临的问题是算法的输出不一致。这是决策树的属性吗?在多次运行(不更改数据/算法)中,我得到不同的结果。

我使用了 Scikit 的决策树类,没有进行任何更改

svr = DecisionTreeRegressor()

然后,为了消除任何“随机性”,我将其更改为

svr = DecisionTreeRegressor(splitter='best', random_state=None)

是什么导致了不同的结果?我该如何预防它们?

其中两个结果(为简单起见绘制)红色是 DTR 结果。蓝色是测试集。

Image One

Image Two

最佳答案

来自docs :

random_state : int, RandomState instance or None, optional (default=None)

If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by np.random.

对于None,它将使用np.random,它也是随机的。要制作可重现的示例,您需要在 random_state 中指定 int 数字。例如:

svr = DecisionTreeRegressor(random_state=1)

对于您所做的情况:

svr = DecisionTreeRegressor(splitter='best', random_state=None)

这与默认情况下 random_state 的行为相同。

关于machine-learning - 决策树产生不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35974516/

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