我试图理解我在Internet上找到的这部分代码:
kfold = KFold(n_splits=7, random_state=seed)
results = cross_val_score(estimator, x, y, cv=kfold)
print("Results: %.2f (%.2f) MSE" % (results.mean(), results.std()))
cross_val_score
是什么?
我知道它可以计算分数。我想了解这些分数的含义以及如何评估它们。
答案 0 :(得分:0)
这是cross_val_score的工作:
x
将提供给cross_val_score
的{{1}}分为X_train, X_test
。 y也一样。cv=kfold
将被保留,X_test
的{{1}}和X_train
将被传递到y_train
。 estimator
和fit()
对estimator
进行评分。X_test
中指定的折叠,将重复执行步骤1至3 ,并且将从y_test
返回分数数组。第3点的解释:评分取决于cross_val_score中的估计量和kfold
参数。在此处的代码中,您尚未在cross_val_score
中通过任何得分手。因此将使用默认的scoring
。
如果scoring
是分类器,则estimator.score()
将返回accuracy。如果它是回归变量,则返回R-squared。