我正在关注Kaggle 上的内核并遇到了这段代码。
#Validation function
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)
我了解 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))
简历 = 5?这对我来说没有任何意义。如果 get_n_splits 返回一个整数,为什么还要使用它?我认为KFold 返回一个类,而get_n_splits
返回一个整数。
任何人都可以澄清我的理解吗?