RMSE MAE 无法解决 不同模型之间的误差值比较,如预测房产数据误差为5万元,而预测学生成绩误差是10分,无法进行比较算法是用在哪个问题上好

R Squared就可以解决这种问题

y = y均值这个模型,再在机器学习中叫 Baseline Model,是一种最朴素的预测方法,R²这个值直观的理解就是我们的模型对比Baseline Model模型的效果

R²与分类准确度有一个很打大的不同就是可以小于0

Var(y)代表的是y这组数据对应的方差

06 R Squared (R^2)
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
import datetime;print("Run by CYJ,",datetime.datetime.now())
Run by CYJ, 2022-01-20 13:23:49.455706
boston = datasets.load_boston()
x = boston.data[:,5] # 只使用房间数量这个特征
y = boston.targetx = x[y < 50.0]
y = y[y < 50.0]
from playML.model_selection import train_test_splitx_train, x_test, y_train, y_test = train_test_split(x, y, seed=666)
from playML.SimpleLinearRegression import SimpleLinearRegressionreg = SimpleLinearRegression()
reg.fit(x_train, y_train)
SimpleLinearRegression()
reg.a_
7.8608543562689555
reg.b_
-27.459342806705543
y_predict = reg.predict(x_test)
R Square
from playML.metrics import mean_squared_error1 - mean_squared_error(y_test, y_predict)/np.var(y_test)
0.6129316803937322
封装我们自己的 R Score
代码参见 这里from playML.metrics import r2_scorer2_score(y_test, y_predict)
0.6129316803937322
scikit-learn中的 r2_score
from sklearn.metrics import r2_scorer2_score(y_test, y_predict)
0.6129316803937324
scikit-learn中的LinearRegression中的score返回r2_score:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html在我们的SimpleRegression中添加score
reg.score(x_test, y_test)
0.6129316803937322

[云炬python3玩转机器学习] 5-6最好的衡量线性回归法的指标: R Squared相关推荐

  1. [云炬python3玩转机器学习笔记] 1-3课程所使用的主要技术栈

    课程环境 语言:Python3 框架:Scikit-learn 其他框架:numpy,matplotlib... IDE:Jupyter Notebook,PyCharm,ANACONDA 课程学习基 ...

  2. [云炬python3玩转机器学习笔记] 3-2 Jupter Notebook魔法命令

    xxxxxxxxxx### %run %run¶ In [1]:%run myscript/hello.py hello Machine Learning ! . . .In [2]:xxxxxxxx ...

  3. [云炬python3玩转机器学习笔记] 3-1 Jupyter Notebook

    1+2for _ in range(5):print("Hello, Machine Learning!")5+5*29+9print("天津云炬网络科技有限公司&quo ...

  4. [云炬python3玩转机器学习笔记] 2-6关于回归和分类

    在这一章,我们了解到了,机器学习主要可以处理的两大类问题,是回归和分类.看起来,似乎有些局限,但是,非常出人意料的,在我们现实生活中,很多问题,都可以通过化简,或者转换的手段,转换成分类问题或者回归问 ...

  5. [云炬python3玩转机器学习笔记] 2-5机器学习相关的哲学思考

    2-5机器学习相关的哲学思考

  6. [云炬python3玩转机器学习笔记] 2-4批量学习、咋西安学习、参数学习和非参数学习

    机器学习的其他分类: 在线学习(online learining)和批量学习(离线学习 batch learning/offline learning): 批量学习(之前没有具体说明的话,都可以用批量 ...

  7. [云炬python3玩转机器学习笔记] 2-2机器学习主要任务

    机器学习(监督学习)的主要任务 一.分类:将给定的数据进行分类- 二分类任务:二选一的方式,yes/no- 多分类任务:结果不仅仅在两个结果中,而是很多结果,获得的结果很明确- 数字识别- 图像识别- ...

  8. [云炬python3玩转机器学习笔记] 2-1机器学习基础概念

    机器学习基础概念 一.关于数据 本文约定: 大写表示矩阵 小写表示向量 上标代表第几个样本 下标代表第几个特征 一般向量都表示为列向量 特征空间:每个维度都可以表示一个特征,形成一个空间(2D,3D, ...

  9. [云炬python3玩转机器学习笔记] 1-1什么是机器学习

    一. 什么是机器学习 机器学习本质是在模拟人类进行思考学习,人类的思考学习大部分来自经验的积累,机器学习也一样 二.机器学习的应用场景 (一)已投入生产的 (二)未来需要运用机器学习的领域 在未来,A ...

最新文章

  1. ThinkPHP讲解(十二)——文本编辑器和ajax传址
  2. oracle批量update
  3. vs mysql 环境安装教程_使用 VS 开发连接 MySQL 的 Web 项目的环境配置
  4. EasyExcel简单使用
  5. clone远程代码 在不同电脑上git_如何使用git在本地电脑clone别人的github上的远程仓库代码...
  6. string 找出所有数字 index_【一天一大 lee】单调递增的数字 (难度:中等) Day20201215...
  7. Java记录 -89- java.lang.Class
  8. 绿色沃土计划农业大健康 功能性农业国稻种芯发力耕地体质
  9. iPad 被锁死后如何恢复出厂设置
  10. cs224w(图机器学习)2021冬季课程学习笔记15 Frequent Subgraph Mining with GNNs
  11. c语言用while实现输出加法口诀表,「加法口诀」C语言编写一个加法口诀表 - 金橙教程网...
  12. 小米连续点击Android,屏幕自动点击
  13. 人工智能概念类知识点总结
  14. n个人排名,允许并列名次,共有多少种排名结果?
  15. 用R语言,制作动态烟花
  16. 全球及中国无损音乐流媒体服务行业行业运营模式与投资战略规划研究报告2022-2028年
  17. springboot+vue3.0+token 安全验证
  18. [Xposed开发] Xposed模块使用XSharedPreferences进行存储数据
  19. Databricks 第7篇:管理Secret
  20. 怎么用python画sin函数图像_如何使用python的matplotlib模块画正弦函数图像

热门文章

  1. 【Javascript】 == 、=== 区别
  2. lodash 核心源码学习(基于4.17.11版本)
  3. ffmpeg命令详解(转)
  4. 670. 最大交换
  5. SpingBoot-Thymeleaf-bootstrapTable-分页之H5
  6. 大四 PHP《上传文件》
  7. 【APUE】Chapter17 Advanced IPC sign extension 结构体内存对齐
  8. linux 之RAID详解
  9. Linux下的文件共享全攻略系列之一:Samba服务器简介与快速配置指南
  10. 第五届河南省大学生程序设计竞赛 题解