【问题标题】:Does cross_val_score take sequential samples or random samples?cross_val_score 是采用顺序样本还是随机样本?
【发布时间】:2018-05-06 00:17:59
【问题描述】:

在这个: cross_val_score(GaussianNB(),特征,目标, cv=10)

我们是将数据随机分成 10 份还是按顺序进行?

【问题讨论】:

标签: python machine-learning scikit-learn cross-validation


【解决方案1】:

这取决于您在 cv 参数中指定的内容。

如果自变量是二元或多类,它将使用 StratifiedKFold,否则将使用 KFold。您还可以通过指定一个函数(sklearn 或其他)来执行拆分来覆盖这些选项。

KFold 函数将数据分成顺序折叠。如果希望它进行随机拆分,可以将 shuffle 参数设置为 True。如果你想修复随机洗牌,你可以为 random_state 设置一个值。如果不这样做,它将采用随机值,并且每次运行该函数时折叠都会有所不同。

对于 StratifiedKFold,它将拆分数据,同时尝试在每次拆分中保持因变量类别的相同比率。因此,每次调用该函数时都会有细微的变化。即默认情况下它不会是连续的。

【讨论】:

    猜你喜欢
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 2017-10-29
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多