【问题标题】:StratifiedKFold: shuffle and random_stateStratifiedKFold:随机播放和随机状态
【发布时间】:2015-11-16 22:20:46
【问题描述】:

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

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

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

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

感谢您的帮助!

【问题讨论】:

  • 将折叠保存到磁盘可能更容易(也更干净)。如果每个数据点都有某种 ID,则可以仅使用这些 ID 存储采样。
  • 你可以给随机数生成器播种一个固定的常数。

标签: python scikit-learn shuffle


【解决方案1】:

您可以使用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" ) )

【讨论】:

  • 非常感谢这个解决方案!
猜你喜欢
  • 1970-01-01
  • 2023-01-23
  • 1970-01-01
  • 2019-04-14
  • 2016-12-29
  • 1970-01-01
  • 2011-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多