我正在使用scikit learn的train_test_split
功能,当重复运行相同的代码时,会得到不同的结果:
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.1, random_state=42)
当我记录y_train
中唯一元素的数量时:
我在重复运行时得到不同的值(没有代码更改)。我本以为random_state
将确保一个确定的分割。在
如何确保每次都是相同的分割?在
随机性不是由
train_test_split
引起的,因为您可以看到,如果您多次运行这个最小的代码:您的代码中可能还有另一个随机性来源。所以也许是小猫咪/熊猫造成了这个问题。在
设置
random_state
(在许多scikit学习示例中使用42)的值并不重要,最重要的是该值始终是相同的,因此可以多次验证代码。在如果你发布完整的代码,你的代码中可能存在一些其他的随机性,从而产生不同的结果。在
相关问题 更多 >
编程相关推荐