StratifiedKFold:洗牌和 random_state

StratifiedKFold: shuffle and random_state

为了交叉验证目的,我做了以下操作:

from sklearn.cross_validation import StratifiedKFold
n_folds = 5
SKFolds = list(StratifiedKFold(ytrain, n_folds, shuffle=True))

我只是在考虑一个细节:如果有人(例如我的老师!)运行 再次输入代码,我希望得到相同的最终结果。但是,我忘记指定 random_state 参数!不幸的是,我不能从头开始,因为我的模型需要很长时间才能安装,而且已经完成了。

我的问题如下:是否可以找到导致我的 SKFolds 的 random_state 是什么? (我的笔记本仍然打开,所以也许可以在某处找到信息?)。或者我可以做一些事情,比如将我的 SKFolds 保存在一个 csv 文件中,然后在我重新启动我的笔记本时加载它以确保我的折叠上有相同的拆分吗?

感谢您的帮助!

您可以使用 pickle 保存 SKFolds 对象,然后您只需加载它并按原样使用它。

import cPickle as pickle

# To save the object
pickle.dump( SKFolds , open( "skfolds.p", "wb" ) )

# To load the object
SKFolds = pickle.load( open( "skfolds.p", "rb" ) )