gpt4 book ai didi

python - Scikit-learn:训练/测试拆分不可重现

转载 作者:行者123 更新时间:2023-12-04 02:55:44 25 4
gpt4 key购买 nike

我正在使用 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 中记录唯一元素的数量时:

logger.info(len(set(y_train)))

我在重复运行时得到不同的值(没有更改代码)。我原以为 random_state 会确保确定性 split 。

如何确保每次拆分相同?

最佳答案

随机性不是由 train_test_split 引起的,如果您多次运行此最小代码,您会看到:

from sklearn.model_selection import train_test_split

x = [k for k in range(0, 50)]
y = [k for k in range(0, 50)]
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.1, random_state=44)

print (x_train)

您的代码中可能还有另一个随机性来源。所以也许是 numpy/pandas 导致了这个问题。

关于python - Scikit-learn:训练/测试拆分不可重现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53182821/

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