小编apa*_*ang的帖子

不确定 get_n_splits 的目的以及为什么有必要

我正在关注Kaggle 上的内核,并发现了以下代码:

n_folds = 5

def rmsle_cv(model):
    kf = KFold(n_folds, shuffle=True, random_state=42).get_n_splits(train.values)
    rmse= np.sqrt(-cross_val_score(model, train.values, y_train, scoring="neg_mean_squared_error", cv = kf))
    return(rmse)
Run Code Online (Sandbox Code Playgroud)

我了解 KFold 的目的和用途以及在 中使用的事实cross_val_score。我不明白的是为什么get_n_split使用。据我所知,它返回用于交叉验证的迭代次数,即在本例中返回值 5。当然对于这一行:

rmse= np.sqrt(-cross_val_score(model, train.values, y_train, scoring="neg_mean_squared_error", cv = kf))
Run Code Online (Sandbox Code Playgroud)

简历=5?这对我来说没有任何意义。get_n_splits如果它返回一个整数,为什么还需要使用?我认为KFold 返回一个类,而get_n_splits返回一个整数。

任何人都可以澄清我的理解吗?

python scikit-learn cross-validation k-fold

3
推荐指数
1
解决办法
2268
查看次数

标签 统计

cross-validation ×1

k-fold ×1

python ×1

scikit-learn ×1