为了进行交叉验证,我已经完成了以下操作:

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


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

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

谢谢你的帮助!

最佳答案

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

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" ) )

关于python - StratifiedKFold:随机播放和random_state,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32166282/

10-08 23:43