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

时间:2020-08-12 04:05:25

标签: python scikit-learn regression cross-validation k-fold

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

谢谢。

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

是的,我也可以通过sklearn.metrics-> r2_score使用相同的指标。 r2_score(y_true,y_pred)。此分数也称为确定系数或R平方。

相同的公式如下- 在下面找到图像的链接。 https://i.stack.imgur.com/USaWH.png

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