线性回归(一)

线性回归是分析因变量与自变量呈现线性关系的一种方法,来确定一个因变量如何依赖一个或多个自变量的变化而变化,运用十分广泛。
在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
线性回归常用参数:
regression.intercept_ : 截距, 默认为True,可选False
regression.coef_ : 斜率,回归系数,x对y的具体影响
regression.predict: 预测
normalize: (标准化) 默认为True,可选False
copy_X: (复制X数据)默认为True,可选False。如果选False会覆盖原数
n_jobs: (计算性能)默认为1,可选int,工作使用的数量计算。

一元线性回归

from sklearn import linear_model #导入线性模型模块
regression = linear_model.LinearRegression()  #创建线性回归模型
x = [[3],[10]]    #创建x坐标
y = [6,22]        #创建y坐标
regression.fit(x,y)  #拟合
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
regression.intercept_   #截距,以下划线结束
-0.8571428571428559
regression.coef_    #斜率,回归系数,x对y的具体影响
array([2.28571429])
regression.predict([[6]])  #对未知点进行预测
array([12.85714286])
regression.score([[6],[7],[8],[9]],[12.8,14.6,17.8,19.5])   #返回可决系数R2
0.9825215658041578
#练习
regression1 = linear_model.LinearRegression()  #创建线性回归模型
x1 = [[3],[10],[12],[15]]    #创建x坐标
y1 = [6,22,24,29]        #创建y坐标
regression1.fit(x1,y1)  #拟合
regression1.intercept_
0.8910256410256423
regression1.coef_
array([1.93589744])
regression1.predict([[6],[7],[8]])
array([12.50641026, 14.44230769, 16.37820513])
regression1.score([[6],[7],[8],[9]],[12.8,14.6,17.8,19.5])
0.8716272717012157
# 案例:假如研究学生学习时长(分钟)与考试成绩(分)的关系,考试成绩为因变量,学习时长为自变量,首先导入回归模块
import pandas as pd #导入pandas库
import numpy as np #导入numpy库
#from sklearn import linear_model #导入线性模型模块
#regression = linear_model.LinearRegression()  #创建线性回归模型,导入线性模块也可采用下列方式一次性导入
from sklearn.linear_model import LinearRegression #导入机器学习库中的线性回归模块
data=pd.DataFrame({'times':[150,200,250,300,350,400,600],'scores':[64,68,75,79,85,89,93]})
#创建一组7行2列的数据,times为学习时长,scores为对应成绩
data_train=np.array(data['times']).reshape(data['times'].shape[0],1)#这里是将数据转化为一个1维矩阵
data_test=data['scores']
#创建线性回归模型,拟合学习时长与学习成绩的关系,并预测成绩
reg1=LinearRegression() #创建线性回归模型,参数默认
reg1.fit(data_train,data_test)#拟合数据
a=reg1.predict(268.5)  #预测学习时长为268.5分钟的学习成绩
print(a)#查看预测结果
print(reg1.score(data_train,data_test))#查看拟合准确率情况,这里的检验是 R^2 ,趋近于1模型拟合越好
[75.43295213]
0.8788360721074254
#预测的结果:学习时长为268.5分钟,则对应的学习成绩为75.43分, R^2 =0.8788
#我们来画个图看一下数据最后是什么样的
import matplotlib.pyplot as plt
plt.scatter(data['times'],data['scores']) #画散点图
plt.plot(data['times'],reg1.predict(np.array(data['times']).reshape(data['times'].shape[0],1)),color='red') #画拟合线型图
[<matplotlib.lines.Line2D at 0x21c131f8128>]

线性回归(一)---一元线性回归相关推荐

  1. java 一元线性回归_一元线性回归的java实现

    我们有两组数据,比如连续5年的pv与uv. 我们想预测一下,uv达到500k那么pv会是多少.当然更有意思可能是,如果销售额是500w的话,pv会是多少. 机器学习里的一元线性回归方法是比较简单的方法 ...

  2. 机器学习初探:(二)线性回归之一元线性回归

    (二)一元线性回归 文章目录 (二)一元线性回归 一元线性回归(Univariate Linear Regression) 模型形式和基本假设 损失函数(Cost Function) 梯度下降(Gra ...

  3. 一元线性回归决定系数_回归分析|笔记整理(1)——引入,一元线性回归(上)...

    大家好! 新学期开始了,不知道大家又是否能够适应新的一学期呢?先祝所有大学生和中小学生开学快乐! 本学期我的专业课是概率论,回归分析,偏微分方程,数值代数,数值逼近,金融时间序列分析,应用金融计量学和 ...

  4. 线性回归(一元、多元)

    目录 一元线性回归 多元线性回归 一元线性回归 在一元线性回归中,输入只有一个特征.现有输入特征为 x,需要预测的目标特征为y ,一元线性回归模型为 y=w1x+w0y=w_1x+w_0y=w1​x+ ...

  5. matlab重复线性回归,(MATLAB)一元线性回归和多元线性回归

    (MATLAB)一元线性回归和多元线性回归 (MATLAB)一元线性回归和多元线性回归 (MATLAB)一元线性回归和多元线性回归1.一元线性回归 2.多元线性回归2.1数据说明 2.2程序运行结果 ...

  6. R语言计量(一):一元线性回归与多元线性回归分析

    文章目录 一.数据调用与预处理 二.一元线性回归分析 三.多元线性回归分析 (一)解释变量的多重共线性检测 (二)多元回归 1. 多元最小二乘回归 2. 逐步回归 (三)回归诊断 四.模型评价-常用的 ...

  7. 机器学习——回归——一元线性回归

    目录 理论部分 1.1 回归问题 1.2 回归问题分类 1.3 线性回归 1.4 一元线性回归 1.4.1 基本形式 1.4.2 损失函数 1.4.3 训练集与测试集 1.4.4 学习目标 1.4.5 ...

  8. 第十一章 一元线性回归

    主要分析数值型自变量与数值型自变量之间的关系. 从变量个数上看,可分为简单相关与简单回归分析和多元相关与多元回归分析:从变量之间的关系形态上看,有线性相关与线性回归分析和非线性相关与非线性回归分析. ...

  9. (MATLAB)一元线性回归和多元线性回归

    (MATLAB)一元线性回归和多元线性回归 1.一元线性回归 2.多元线性回归 2.1数据说明 2.2程序运行结果 1.一元线性回归 直接看代码,目标是建立 y y y和 x x x的函数关系,即求 ...

  10. 机器学习——一元线性回归和多元线性回归

    一元线性回归:梯度下降法 一元线性回归是线性回归的最简单的一种,即只有一个特征变量.首先是梯度下降法,这是比较经典的求法.一元线性回归通俗易懂地说,就是一元一次方程.只不过这里的斜率和截距要通过最小二 ...

最新文章

  1. mysql制作学生成绩单_java+mysql做的学生成绩管理系统
  2. heartbeat原理介绍
  3. px4官网调参指南 多旋翼无人机PID调参指南
  4. js 深拷贝,浅拷贝
  5. 送30块树莓派PICO 开发板!
  6. [FZYZOJ 1038] 隧道
  7. 若依(RuoYi)如何不登录直接访问?
  8. REST API 的安全认证,我放弃OAuth 2.0 ,选择 JWT 令牌
  9. HDU 5046 Airport ( Dancing Links 反复覆盖 )
  10. 网络营销行业十大看了就想吐的“滥词”
  11. 兴业银行银企直联如何查询转账支付后的手续费及退票流水
  12. 基于springboot老年人健康体检系统(带论文)
  13. 暴走英雄坛服务器维修,暴走英雄坛采集位置及注意事项一览
  14. The server encountered an internal error that prevented it from fulfilling this request.解决方法
  15. 金蝶外贸进出口行业解决方案(K/3 Cloud、EAS版)
  16. 如何在海外做游戏代理?
  17. VScode终端配置bash.git(默认),terminal.integrated.shell:windows路径查找不到前提下
  18. 大爱 unity 数字孪生 老卵了 Unity 数字孪生笔记1 工具介绍
  19. mysql 设置 sql_mode
  20. Excel公式-TEXT函数使用

热门文章

  1. Java基础学习总结(76)——Java异常深入学习研究
  2. 华为杯数学建模优秀论文_数学建模经典例题(2013年国赛A题与优秀论文)
  3. 【速学速记】Python 高阶函数
  4. [Tjoi2016Heoi2016]排序[01序列]
  5. 总结一下安装linux系统经验-版本选择-安装ubuntu
  6. 【0】python核心编程,第二章
  7. 【转】热门3D游戏视觉效果名词简介
  8. C# 7.0 新特性3: 模式匹配
  9. 读《现代软件工程--构建之法》所思
  10. 【转载】关系型数据库设计范式