机器学习 线性回归模型评价MAE MSE R^2 的使用、代码、报错

评估值介绍

越小越好,但是不好用:
mean_absolute_error:平均绝对误差(Mean Absolute Error,MAE)
mean_squared_error:均方差(Mean squared error,MSE)

取值[0,1],保守的方法是使用R2:
r2_score值取值范围是[0,1],越接近于1说明自变量越能解释因变量的方差变化,值越小则说明效果越差。

使用代码

利用sklearn里面的merics模块导出三大函数,直接进行调用计算

from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score #直接调用库函数进行输出R2
print(mean_squared_error(y_test,y_predict))
print(mean_absolute_error(y_test,y_predict))
print(r2_score(y_test,y_predict))

举例:

以鸢尾花的花瓣长度与宽度为例,实现回归
https://blog.csdn.net/weixin_45496778/article/details/105619944?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160256567019725255540516%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160256567019725255540516&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v2-2-105619944.first_rank_ecpm_v3_pc_rank_v2&utm_term=%E8%AF%84%E4%BB%B7%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92%E6%A8%A1%E5%9E%8B&spm=1018.2118.3001.4187

报错

原因:
由于没有测试集,误把预测对象的数据当做y_test使用,导致参数数量不一致
解决:把数据分成训练集和测试集,这样我们就可以用分出来的训练集y_test了

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=101)

另外y_pre在这个地方:
predictions = lmScore.predict(X_test)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值