首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >10*10倍交叉验证在科学知识-学习?

10*10倍交叉验证在科学知识-学习?
EN

Stack Overflow用户
提问于 2011-11-26 19:36:33
回答 1查看 6.5K关注 0票数 7

代码语言:javascript
复制
class sklearn.cross_validation.ShuffleSplit(
    n, 
    n_iterations=10, 
    test_fraction=0.10000000000000001, 
    indices=True, 
    random_state=None
)

正确的方式,10*10倍的简历在科学-学习?(将random_state更改为10个不同的数字)

因为我没有在Stratified K-FoldK-Fold中找到任何Stratified K-Fold参数,而且对于相同的数据,与K-Fold分离的参数总是相同的。

如果ShuffleSplit是正确的,那么需要关注的是它被提到了

注意:与其他交叉验证策略相反,随机分割并不能保证所有折叠都会不同,尽管对于相当大的数据集来说,这仍然是非常可能的。

10*10倍的简历总是这样吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-26 20:05:39

我不知道你说的10*10交叉验证是什么意思。您给出的ShuffleSplit配置将使您调用估值器的fit方法10次。如果您显式地使用外部循环调用这10次,或者直接调用它100次,并且保留了10%的数据用于单个循环中的测试,如果您使用:

代码语言:javascript
复制
>>> ss = ShuffleSplit(X.shape[0], n_iterations=100, test_fraction=0.1,
...     random_state=42)

如果您想使用StratifiedKFold执行10次k=10运行,您可以在两次运行之间洗牌数据集(这将导致对fit方法的总共100个调用,每次调用fit的测试分割率为90% / 10% ):

代码语言:javascript
复制
>>> from sklearn.utils import shuffle
>>> from sklearn.cross_validation import StratifiedKFold, cross_val_score
>>> for i in range(10):
...    X, y = shuffle(X_orig, y_orig, random_state=i)
...    skf = StratifiedKFold(y, 10)
...    print cross_val_score(clf, X, y, cv=skf)
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8281034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档