回归模型的 K 折交叉验证指标

Metric for K-fold Cross Validation for Regression models

我想对回归(非分类)模型进行交叉验证,结果平均准确度约为 0.90。但是,我不知道该方法中使用了什么指标来找出准确性。我知道 k 折交叉验证中的拆分是如何工作的。我只是不知道 scikit 学习库用于计算预测准确性的公式。 (虽然我知道它如何用于分类模型)。有人可以给我 sklearn.model_selection.cross_val_score 使用的 metric/formula 吗?

提前致谢。

from sklearn.model_selection import cross_val_score
def metrics_of_accuracy(classifier , X_train , y_train) :
accuracies = cross_val_score(estimator = classifier, X = X_train, y = y_train, cv = 10)
accuracies.mean()
accuracies.std()
return accuracies

默认情况下,sklearn 在分类的情况下使用准确性,在使用 model.score 方法时使用 r2_score 进行回归(与 cross_val_score 相同)。所以 r2_score 在这种情况下其公式是 r2 = 1 - (SSE(y_hat)/SSE(y_mean)) 在哪里 SSE(y_hat) 是预测的平方误差 SSE(y_mean) 是当所有预测都是实际预测的平均值时的平方误差

是的,我也可以使用相同的指标 sklearn.metrics-> r2_score。 r2_score(y_true, y_pred)。该分数也称为决定系数或 R-squared.

相同的公式如下- 找到下图中的 link。 https://i.stack.imgur.com/USaWH.png

有关此的更多信息 - https://en.wikipedia.org/wiki/Coefficient_of_determination