使用 cross_val_score 通过交叉验证计算均方误差的函数

A function to calculate the mean square error by cross-validation using cross_val_score

我想编写一个函数,允许我使用 sklearn.model_selection 的 cross_val_score 函数计算通过 5 样本交叉验证获得的均方根误差。

(知道 cross_val_score() 函数的评分参数允许选择我们要使用的指标。​​)

找到了这个方法,但是和问题不符:

def rmse(predictions, targets):
    return np.sqrt(((predictions - targets)**2).mean())

非常感谢,Merci beaucoup :)

您在代码中使用了错误的公式,这里是均方误差的正确公式。

Y 是预期输出,O 是神经网络的实际输出。

您可以简单地在sklearn.model_selection.cross_val_score中设置scoring='mean_squared_error'。查看 validator and the metric.

的文档

换句话说:

cv = cross_val_score(estimator=my_estimator, X, y, cv=5, scoring='mean_squared_error')

你可以试试:

def rmse_cv(model):     
    rmse= np.sqrt(-cross_val_score(model, X, y, scoring="neg_mean_squared_error", cv=5))     
    return rmse