我已完成以下交叉验证:
from sklearn.cross_validation import StratifiedKFold
n_folds = 5
SKFolds = list(StratifiedKFold(ytrain, n_folds, shuffle=True))
我只想到一个细节:如果有人(例如我的老师!)再次运行代码,我希望得到相同的最终结果。但是,我忘了指定random_state参数!不幸的是,我不能从头开始,因为我的模型需要很长时间才能完成并且它已经完成了。
我的问题如下:是否有可能找到导致我的SKFolds的random_state是什么? (我的笔记本仍然打开,所以也许可以在某处找到信息?)。或者我可以做一些事情,例如将我的SKFolds保存在csv文件中,然后在我重新启动笔记本时加载它以确保我的折叠上会有相同的分割吗?
感谢您的帮助!
答案 0 :(得分:1)
您可以使用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" ) )