学习彭亮《深度学习基础介绍:机器学习》课程


皮尔逊相关系数 (Pearson Correlation Coefficient):

概念:衡量两个值线性相关强度的量
取值范围:
[-1, 1]: 正向相关: >0, 负向相关:<0, 无相关性:=0
计算公式:

相关

举例

计算:


R平方值

定义:决定系数,反应因变量的全部变异能通过回归关系被自变量解释的比例。
描述:如R平方为0.8,则表示回归关系可以解释因变量80%的变异。换句话说,如果我们能控制自变量不变,则因变量的变异程度会减少80%
计算
简单线性回归:R^2 = r * r
多元线性回归:


R平方也有其局限性

R平方随着自变量的增加会变大,R平方和样本量是有关系的。因此,我们要到R平方进行修正。修正的方法:


代码

#coding=utf-8
# @Author: yangenneng
# @Time: 2018-01-19 14:49
# @Abstract:import numpy as np
from astropy.units import Ybarn
import math# 计算相关系数
def computeCorrelation(X,Y):xBar = np.mean(X)yBar = np.mean(Y)SSR = 0varX = 0   # 公式中分子部分varY = 0   # 公式中分母部分for i in range(0, len(X)):diffXXBar = X[i]-xBardiffYYBar = Y[i]-yBarSSR += (diffXXBar * diffYYBar)varX += diffXXBar**2varY += diffYYBar**2SST = math.sqrt(varX*varY)return SSR/SST# 假设有多个自变量的相关系数
def polyfit(x, y, degree):# 定义字典result={}# polyfit 自动计算回归方程:b0、b1...等系数  degree为x的几次方的线性回归方程coeffs=np.polyfit(x,y,degree)# 转为list存入字典result['polynomial']=coeffs.tolist()# poly1d 返回预测值p=np.poly1d(coeffs)# 给定一个x的预测值为多少y_hat = p(x)# 均值ybar = np.sum(y)/len(y)ssreg = np.sum((y_hat-ybar)**2)sstot = np.sum((y-ybar)**2)result['determination'] = ssreg/sstotreturn resulttestX = [1, 3, 8, 7, 9]
testY = [10, 12, 24, 21, 34]print "相关系数r:",computeCorrelation(testX,testY)
print "简单线性回归r^2:",str(computeCorrelation(testX,testY)**2)# 此处x为一维的,所以多元退化为一元,结果应该与一元一样
print "多元回归r^2:",polyfit(testX,testY,1)

机器学习-回归中的相关性(Correlation Coefficient)和R平方值算法相关推荐

  1. 机器学习——回归中的相关度与R平方值及其应用

    1.皮尔逊相关系数(Pearson Correlation Coeffident) (1)衡量两个值线性相关的强度 (2)取值范围[-1,1]:正向相关>0:负向相关<0:无相关性=0. ...

  2. 模型评估 | 机器学习回归模型评价(RMSE、MAPE、R^2、NSE)

    模型评估 | 机器学习回归模型评价(RMSE.MAPE.R^2.NSE) RMSE.MAPE.R^2.NSE % RMSE RMSE_test = sqrt(sumsqr(output_test - ...

  3. 机器学习-特征中的相关性及相关系数、卡方检验、互信息

    在机器学习中,对于特征选择的方法分为三类:过滤式(Filter),包裹式(Wrapper),和嵌入式(Embedding).过滤式方法是先按照某种规则对数据集进行特征选择,然后再训练学习器,特征选择过 ...

  4. 机器学习-回归中的相关度和R平方值

    1. 皮尔逊相关系数(Pearson Correlation Coefficient) 1.1 衡量两个值线性相关强度的量 1.2 取值范围[-1, 1] 正相关:>0, 负相关:<0, ...

  5. python 变量 r_在python中为每个预测变量调整R平方

    下面的内容不会给出所有的答案,但是它会让您使用python.pandas和statsmodels进行回归分析. 给定这样的数据帧...# Imports import pandas as pd imp ...

  6. r语言中残差与回归值的残差图_R语言逻辑回归、方差分析、伪R平方分析

    原标题:R语言逻辑回归.方差分析.伪R平方分析 原文链接:http://tecdat.cn/?p=9589 目录 怎么做测试 假设条件 并非所有比例或计数都适用于逻辑回归分析 过度分散 伪R平方 测试 ...

  7. R语言逻辑回归、方差分析 、伪R平方分析

    目录 怎么做测试 假设条件 并非所有比例或计数都适用于逻辑回归分析 过度分散 伪R平方 测试p值 Logistic回归示例 模型拟合 系数和指数系数 方差分析 伪R平方 模型的整体p值 标准化残差图 ...

  8. python3**2的值,线性回归中的R*2平方值

    回归分析,是对两个或两个以上变量之间的因果关系进行定量研究的一种统计分析方法.在做回归分析或者解决回归问题时,常会用到R²平方值. 定义: 1.定义:决定系数,反应因变量的全部变异能通过回归关系被自变 ...

  9. 线性回归中的R*2平方值

    回归分析,是对两个或两个以上变量之间的因果关系进行定量研究的一种统计分析方法.在做回归分析或者解决回归问题时,常会用到R²平方值. 定义: 应用描述: 应用实现代码: 定义: 1.定义:决定系数,反应 ...

最新文章

  1. ES6 之Reflect 与 Proxy概述
  2. dijkstra 算法_最短路径问题Dijkstra算法详解
  3. collapse 聚合
  4. shell-sed命令详解(转)
  5. [转] vim 正则表达式 很强大
  6. WPF自定义产品框架
  7. android glide裁剪图片大小,Glide系列(二)------图片剪裁
  8. ElasticSearch插件demo
  9. 人才管理是什么意思_cms系统是什么意思,国内常用的cms内容管理系统有哪些
  10. 节点name在graph中无法展示_图节点分类与消息传递
  11. 贪心法田忌赛马问题Java代码,hdoj 1052 Tian Ji - The Horse Racing【田忌赛马】 【贪心】...
  12. Kali学习笔记5:被动信息收集工具集
  13. oracle中通过distinct为什么过滤不了重复的数据_spark | 手把手教你用spark进行数据预处理...
  14. java的io流的file类_java IO流 (一) File类的使用
  15. java 接口 方法的 不同_Java – 使用相同的方法和不同的返回类型实现多个接口...
  16. 使用PowerShell和T-SQL在多服务器环境中规划SQL Server备份和还原策略
  17. linux执行命令带时间戳,Linux查看History记录加时间戳的小技巧
  18. 【写博客常用】美赛成绩如何快速查询!
  19. 移植emwin到stm32f205上卡死在gui_init();
  20. 对计算机课的期待200字,谈《计算机应用》课程教学组织优化

热门文章

  1. shell脚本--awk数组入门案例
  2. html中怎么设置右侧加滚动条,浏览器右侧滚动条如何设置
  3. 简单PageRank —— 希拉里邮件门
  4. 用GHOST备份ubuntu系统
  5. WebP格式介绍(附python版本代码用于对图像进行WebP编码和解码)
  6. 2022最新的JS面试题第一篇
  7. 打开PhotoshopTea的正确姿势
  8. 用 Python 加密文件,技能满满,赶紧get起来
  9. c#尝试写入或者读取受保护的内存_C# 尝试读取或写入受保护的内存,这通常指示其他内存已损坏。错误类型为:System.AccessViolationException。...
  10. python画圆形螺旋线_如何用Python画一只机器猫?