用python计算准确率_有没有计算回归模型准确率的方法?

本文介绍了如何使用Python的sklearn库计算回归模型的评估指标,包括均方误差MSE、均方根误差RMSE和决定系数R²,并解释了它们的含义和应用。通过示例展示了如何调用这些评估函数以及它们对异常值的敏感性。
摘要由CSDN通过智能技术生成

回归类算法的模型评估与分类型算法的模型评估其实是相似的法则——找真实标签和预测值的差异。在分类型算法中,评判否预测到了正确的分类,而在我们的回归类算法中,评判是否预测到了正确的数值、以及是否拟合到了足够的信息。

绝对误差 MAE

---- 是否预测了正确的数值

sklearn中使用RSS 的变体,均方误差MSE(mean squared error)来衡量我们的预测值和真实值的差异:

均方误差MSE

equation?tex=MSE%3D%5Cfrac1m%5Csum_%7Bi%3D1%7D%5Em%28f%28x_i%29%E2%88%92y_i%29%5E2+%5C%5C

在sklearn当中,我们有两种方式调用这个评估指标,一种是使用sklearn专用的模型评估模块metrics里的类mean_squared_error,另一种是调用交叉验证的类cross_val_score并使用里面的scoring参数来设置使用均方误差。

sklearn.metrics.mean_squared_error(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average', squared=True)

sklearn.model_selection.cross_val_score(reg,X,y,cv=10,scoring=="neg_mean_squared_error")squared bool, default=True If True returns MSE value, if False returns RMSE value.

这里注意scoring=="neg_mean_squared_error", 均方误差为负是因为sklearn在计算模型评估指标的时,认为均方误差本身是一种误差,是模型的一种损失(loss)。在sklearn当中,所有的损失都使用负数表示,因此均方误差也被显示为负数了。

均方根误差RMSE

RMSE为MSE的算术平方根

equation?tex=RMSE%3D%5Csqrt%7BMSE%7D+%5C%5C

缺点:因使用平均误差,平均误差对异常值比较敏感,异常值的出现,使得RMSE的误差较大。

例:

>>> from sklearn.metrics import mean_squared_error

>>> y_true = [3, -0.5, 2, 7]

>>&g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值