scikit-learn中有没有内置的方法来执行随机分层的k折交叉验证?这是最常见的交叉验证方法之一,我惊讶于竟然找不到一个内置的方法来实现这一点。
我注意到cross_validation.KFold()
有一个洗牌标志,但它不是分层的。不幸的是,cross_validation.StratifiedKFold()
没有这样的选项,而cross_validation.StratifiedShuffleSplit()
不会产生不相交的折叠。
我是不是错过了什么?这是计划中的吗?
(显然我可以自己实现这个功能)
回答:
在当前版本0.15中,cross_validation.StratifiedKFold
已经引入了洗牌标志:
http://scikit-learn.org/0.15/modules/generated/sklearn.cross_validation.StratifiedKFold.html
这可以在变更日志中找到:
http://scikit-learn.org/stable/whats_new.html#new-features
cross_validation.StratifiedKFold的洗牌选项。由Jeffrey Blackburne提供。