最好的衡量指标:R Square

SimpleLinearRegression中默认封装R Square这种指标在score函数中,用于评价线性回归算法的准确度


R方=1-MSE/方差





代码

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets

波士顿房产数据

boston=datasets.load_boston()boston.DESCRboston.feature_namesx=boston.data[:,5] # 只使用房间数量RM这个特征y=boston.targetplt.scatter(x,y)
<matplotlib.collections.PathCollection at 0x24ecc17e0c8>

np.max(y)
50.0
x=x[y<50.0]
y=y[y<50.0]
plt.scatter(x,y)
<matplotlib.collections.PathCollection at 0x24ecc233d08>

进行数据分割

from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=666)
print(x_train.shape)
print(y_train.shape)
(392,)
(392,)
print(x_test.shape)
print(y_test.shape)
(98,)
(98,)

简单线性回归

from SimpleLinearRegression import SimpleLinearRegression2reg=SimpleLinearRegression2()reg.fit(x_train,y_train)
SimpleLinearRegression2()
reg.a_
7.8608543562689555
reg.b_
-27.459342806705543
plt.scatter(x_train,y_train)
plt.plot(x_train,reg.predict(x_train),color='r')
[<matplotlib.lines.Line2D at 0x24ecc35e548>]

y_predict=reg.predict(x_test)

衡量指标

MSE

mse_test=np.sum((y_predict-y_test)**2)/len(y_test)
mse_test
24.156602134387438

RMSE

from math import sqrt
rmse_test=sqrt(mse_test)
rmse_test
4.914936635846635

MAE

mae_test=np.sum(np.absolute(y_predict-y_test))/len(y_test)
mae_test
3.5430974409463873

sklearn中的MSE和MAE

from sklearn.metrics import mean_squared_error
from sklearn.metrics import mean_absolute_error
mean_squared_error(y_test,y_predict)
24.156602134387438
mean_absolute_error(y_test,y_predict)
3.5430974409463873

RMSE误差比MAE要大一些,因为它有平方,会放大误差最大的那个数据的误差,和线性回归算法的目标是一样的,都要减小损失函数;而MAE没什么影响

自己写的MSE、RMSE、MAE

from metrics import mean_squared_error
from metrics import mean_absolute_error
from metrics import root_mean_squared_error
mean_squared_error(y_test,y_predict)
24.156602134387438
mean_absolute_error(y_test,y_predict)
3.5430974409463873
root_mean_squared_error(y_test,y_predict)
4.914936635846635

R Square

1-mean_squared_error(y_test,y_predict)/np.var(y_test)
0.6129316803937322
from metrics import r2_score
r2_score(y_test,y_predict)
0.6129316803937322
from sklearn.metrics import r2_score
r2_score(y_test,y_predict)
0.6129316803937324
reg.score(x_test,y_test) #SimpleLinearRegression中score函数为R square
0.6129316803937322

笔记——衡量回归算法的标准最好的评价指标R Square相关推荐

  1. 机器学习笔记(10)——逻辑回归算法优化之随机梯度下降法

    在上一篇文章<机器学习笔记(9)--深入理解逻辑回归算法及其Python实现>中,详细学习了逻辑回归算法的分类原理和使用梯度下降法来最小化损失函数的数学推导过程,从而拟合出分类函数的参数θ ...

  2. C++prime读书笔记(二)C++标准库:IO、容器、泛型算法、动态内存

    layout: post title: C++prime读书笔记(二)C++标准库:IO.容器.泛型算法.动态内存 description: C++prime读书笔记(二)C++标准库:IO.容器.泛 ...

  3. 算法笔记(11)逻辑回归算法及Python代码实现

    逻辑回归算法是一种被广泛使用的分类算法,通过训练数据中的正负样本,学习样本特征到样本标签之间的假设函数.逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布. 因此与线性回归 ...

  4. 看懂SoftMax回归算法之代价函数求偏导的数学推导——机器学习笔记(12)

    1.学习背景 这两天学习softmax逻辑回归算法,然后卡在了其代价函数求偏导处,"百科"中说,softmax的代价函数如下: 经过求导,得到梯度公式如下: 作为一个准数学专业毕业 ...

  5. 机器学习笔记(七)——逻辑回归算法

    逻辑回归(Logistic Regression,LR).在Kaggle竞赛的统计中,LR算法以63.5%的出产率,荣获各领域中"出场率最高的算法"这一殊荣.在实际场景中,逻辑回归 ...

  6. 掌握python机器学习-读书笔记8 (抽样回归算法)

    为什么80%的码农都做不了架构师?>>>    12 抽查回归算法 今天来学习如何使用python scikit learn 来进行一些回归算法的使用. 篇幅限制, 不会对具体算法做 ...

  7. AI-机器学习-自学笔记(九)套索回归算法

    套索回归法和岭回归法类似,套索回归算法也会惩罚回归系数.在套索回归中,会惩罚回归系数的绝对值.此外,它能够减少变化程度并提高线性回归模型的精度.套索回归算法和岭回归算法有点不同,它使用的惩罚函数是绝对 ...

  8. 【机器学习】干货!机器学习中 5 种必知必会的回归算法!

    提到回归算法,我想很多人都会想起线性回归,因为它通俗易懂且非常简单.但是,线性回归由于其基本功能和有限的移动自由度,通常不适用于现实世界的数据. 实际上,它只是经常用作评估和研究新方法时进行比较的基准 ...

  9. 回归算法 - 线性回归求解 θ(最大似然估计求解)

    回顾线性回归的公式:θ是系数,X是特征,h(x) 是预测值. h(x) = θ0 + θ1x1 + θ2x2 + - + θnxn h(x) = Σ θixi( i=0~n ) h(x) = θTX ...

  10. Machine Learning | (9) 回归算法-线性回归

    Machine Learning | 机器学习简介 Machine Learning | (1) Scikit-learn与特征工程 Machine Learning | (2) sklearn数据集 ...

最新文章

  1. 四川师范大学大学计算机基础,四川师范大学2009-2010学年计算机基础期末考试试题.doc...
  2. 单个神经元不可靠!这项新研究推翻以往认知,感知的最大限制在于解码过程...
  3. hive 语法检查_升级Hive3处理语义和语法变更
  4. Attachments to close incidents
  5. nginx重启、关闭
  6. X86汇编语言从实模式到保护模式01:处理器、内存和指令
  7. python教程视频下载-python怎么下载视频
  8. WPS office 下载
  9. Fiddler Everywhere 3.2.1 Crack
  10. PKI体系及密码算法
  11. 03前端-05 JS提升
  12. 基于matlab的黑体辐射特性分析,MATLAB 黑体辐射规律的研究
  13. 商业智能BI推动制造业智能化转型
  14. html下拉加载实现原理,GitHub - sybiele/wxPull: 原生JS实现微信公众号或网页使用下拉加载和上拉刷新...
  15. 液晶屏COG封装技术-工业显示领域主流
  16. Ambari 前端之 ambari-web 模块概述
  17. LRS+XAPI教育学习记录(安装lrs,以及用xapi传输数据到lrs)
  18. 如何获取二维数组的长和宽
  19. xmta温度控制仪说明书_XMTA-2C-0110211004 智能温度控制器详细解读
  20. OpenGL、OpenGL ES、OpenVG、GLX、EGL的简介

热门文章

  1. libvlc 裁剪及编译
  2. Vivado中各个文件的含义
  3. 张小龙分享微信——从产品经理的角度解读微信
  4. java mission control_Java Mission Control之使用
  5. mpu6050 motion_driver_6.12官方驱动下载
  6. 思维破局:真正废掉一个人的,从来都不是一份稳定的工作
  7. node_modules中的.cache文件夹的占用空间越来越大
  8. 数据同步问题与解决方案:增量全量、数据漂移,数据更新、
  9. 一键开关机电路(不错)
  10. 程序员会不会英语的差别