尽管使用不同的random_state值,为什么为什么stratifiedkfold会生成相同的拆分?

时间:2018-06-28 15:36:17

标签: python-3.x random scikit-learn cross-validation

我正在尝试使用stratifiedkfold split和random_state参数生成我的数据集的不同分层拆分。但是,当我使用不同的random_state值时,我仍然会得到相同的分割。我的理解是,通过使用不同的random_state值,您将能够生成不同的拆分。请让我知道我做错了什么。这是代码。

else if (strcmp(request_type, "OPTIONS") == 0) {
    if (strcmp(request_path, "/d20") == 0) {
          options_d20(fd, body);

        } else {
          resp_404(fd, request_path);
    }
}

这是输出

"Access-Control-Allow-Origin":"*"

"Access-Control-Allow-Methods":"GET, OPTIONS"

"Access-Control-Max-Age":"3600"

"Access-Control-Allow-Headers":"Content-Type, Access-Control-Allow-Headers,Authorization, X-Requested-With"

1 个答案:

答案 0 :(得分:2)

如文档中所述:

  

random_state:int,RandomState实例或无,可选,默认=无

     

如果为int,则random_state是随机数生成器使用的种子;否则为false。如果是RandomState实例,则random_state是随机数生成器;如果为None,则随机数生成器是np.random使用的RandomState实例。 在随机播放== True时使用

因此,只需将UPDATE stock SET stockstatus=2, ordernum=$ordernum WHERE stockstatus=1 AND iditem=$item LIMIT $quant 添加到您的shuffle=True呼叫中即可。例如:

StratifiedKFold

输出:

skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=0)
skf1 = StratifiedKFold(n_splits=5, shuffle=True, random_state=100)