使用 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
我想编写一个函数,允许我使用 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