问题描述:
1、sklearn中在使用交叉验证cross_val_score()的时候,指定scoring='neg_mean_squared_error'),为什么结果是负的?
2、cross_val_score()中的‘neg_mean_squared_error’使用的是metrics.mean_absolute_error,参考mse的计算公式,都已经平方了为什么还会有负数??
背景:
MSE的计算公式:
参考代码:
mse2 = cross_val_score(mlp,x3data,y3data,cv=10,scoring='neg_mean_squared_error')
out:
array([-0.36127485, -3.4022561 , -0.32707924, -2.51635586, -0.21051002,
-0.17468807, -0.8782242 , -0.390895 , -0.11258663, -0.23556248])
返回的就是负值,neg或许就是负的意思吧。用途呢,emm,我猜测,是让score表示越大效果越好吧。
你可以自己建立一个线性方程看,你这个参数设置的返回就是负值, 不设置默认为None 才是均方误差
因为是绝对值,所以都是正的啊