我目前正在使用决策树(使用Scikit学习DecisionTreeRegressor)来拟合回归树。我面临的问题是,使用与6个月前相同的数据的算法,在输出(即。最优分裂点)。我猜可能是他们计算mse标准的方式略有改变,或者类似的情况。有人知道吗?
发布于 2022-03-25 03:34:01
DecisionTreeRegressor表现出随机行为,除非您指定一个random_state作为构造函数的参数。
来自the documentation的the documentation的详细信息解释了随机性可能影响您执行的地方--特别是我突出显示的粗体部分:
random_state int,RandomState实例或无,default=None
控制估计器的随机性。即使拆分器被设置为“最佳”,每次拆分时都会随机排列这些特性。当使用max_features < n_features时,算法会在每次分割时随机选择max_features,然后再找出其中的最佳分割点。但是,即使是max_features=n_features,最佳发现的分割可能因不同的运行而有所不同。既然如此,如果标准的改进对于几个分裂是相同的,并且必须随机选择一个分裂。为了在拟合过程中获得确定性行为,必须将random_state 固定为整数。有关详细信息,请参阅词汇表.
https://stackoverflow.com/questions/71611742
复制相似问题