Python、pandas、jupyter、scikit-learn。
我需要:
现在我正在使用 sklearn train_test_split,但使用替代方案也可以。如果我理解正确的话 random_state 参数可以按以下方式使用:
n = 10**6
while n > 0:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state = n)
#whatever I'm going to to with this split
n-=1
Run Code Online (Sandbox Code Playgroud)
然后我希望能够重现分裂。我可以转储模型以在另一台笔记本上重现它们吗?这有效吗?
UPD 我根据经验找到了正确的答案。(请指导我是否有特定的方法来回答您自己的问题)。
火车测试分割可以作为模型转储/加载。
joblib.dump(train_test_split, path)
my_train_test_split = joblib.load(path)
Run Code Online (Sandbox Code Playgroud)
对于多个数据集。我在一个循环中在两个不同的数据集上使用它两次,传递唯一的随机状态。我能够使用加载的模型重现每个数据集的分割。这就是我所需要的。