线性回归action精讲

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y = w’x+e,e为误差服从均值为0的正态分布。


一元与多元

回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

基本流程

  • 数据预处理
  • 导入语言库
  • 导入数据集合
  • 分离数据集合
  • 算法拟合
  • 可视化处理

一元线性回归

Simple Linear Regression

Step 1: 数据预处理

@Avik-Jain
import pandas as pd
import numpy as np
import matplotlib.pyplot as pltdataset = pd.read_csv('studentscores.csv')
X = dataset.iloc[ : ,   : 1 ].values
Y = dataset.iloc[ : , 1 ].valuesfrom sklearn.cross_validation import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split( X, Y, test_size = 1/4, random_state = 0)

Step 2: 将简单线性回归模型拟合到训练集

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)

Step 3:预测结果

Y_pred = regressor.predict(X_test)

Step 4: 可视化处理

使训练集可视化

plt.scatter(X_train , Y_train, color = 'red')
plt.plot(X_train , regressor.predict(X_train), color ='blue')

使测试结果可视化

plt.scatter(X_test , Y_test, color = 'red')
plt.plot(X_test , regressor.predict(X_test), color ='blue')

多元线性回归

Multiple Linear Regression

Step 1: 数据预处理

导入语言库

@Avik-Jain
import pandas as pd
import numpy as np

导入数据集

dataset = pd.read_csv('50_Startups.csv')
X = dataset.iloc[ : , :-1].values
Y = dataset.iloc[ : ,  4 ].values

编码分类数据

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder = LabelEncoder()
X[: , 3] = labelencoder.fit_transform(X[ : , 3])
onehotencoder = OneHotEncoder(categorical_features = [3])
X = onehotencoder.fit_transform(X).toarray()

避免虚拟变量陷阱

X = X[: , 1:]

将数据集拆分为Training集和测试集

from sklearn.cross_validation import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 0)

Step 2: 将多元线性回归拟合到训练集

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, Y_train)

Step 3: 预测测试集结果

y_pred = regressor.predict(X_test)

一元线性回归与多元线性回归相关推荐

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

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

  2. 机器学习:回归分析—— 一元线性回归、多元线性回归的简单实现

    回归分析 回归分析概述 基本概念 可以解决的问题 基本步骤和分类 线性回归 一元线性回归 多元线性回归 回归分析概述 基本概念 回归分析是处理多变量间相关关系的一种数学方法.相关关系不同于函数关系,后 ...

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

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

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

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

  5. 一元线性回归VS多元线性回归

    一元线性回归和多元线性回归表面意思容易理解,但是结合实际的数据集,会混乱.这也是在编写线性回归博文的时候梳理知识点发现自己的不足,同时记录下来,让有疑问的同学也可以得到答案,拨开乌云. 1.在数据集上 ...

  6. 【机器学习】线性回归,多元线性回归、自回归及衡量指标

    经典线性模型自变量的线性预测就是因变量的估计值. 广义线性模型:自变量的线性预测的函数是因变量的估计值. 常见的广义线性模型有:probit模型.poisson模型.对数线性模型等.对数线性模型里有: ...

  7. 绘制线性回归和多元线性回归

    本文用C#语言实现一元线性回归和多元线性回归.结合"winform双缓冲绘制坐标轴图像"https://www.luweidong.cn/details/89 实现绘制曲线图,效果 ...

  8. 线性回归原理----简单线性回归、多元线性回归

    回归分析是用来评估变量之间关系的统计过程.用来解释自变量X与因变量Y的关系.即当自变量X发生改变时,因变量Y会如何发生改变. 线性回归是回归分析的一种,评估的自变量X与因变量Y之间是一种线性关系,当只 ...

  9. 简单线性回归和多元线性回归

    有很多初学者不知道如何用R语言做回归,这里我讲解一下简单线性回归和多元线性回归. 当回归模型包含一个因变量和一个自变量时,我们称为简单线性回归.比如:身高和体重的关系. 当有不止一个预测变量时, 则称 ...

  10. TensorFlow基础3-机器学习基础知识(解析法实现一元线性回归、多元线性回归)

    记录TensorFlow听课笔记 文章目录 记录TensorFlow听课笔记 一,机器学习基础 1.1一元线性回归 1.2解析法实现一元线性回归 1.3解析法实现多元线性回归 二,代码实现一元/多元回 ...

最新文章

  1. React Native知识
  2. 首家中国快递公司赴美上市!总市值达141亿美元
  3. obj转stl_3D打印,如何编辑STL文件?
  4. pads layout 中 hatch和flood之区别
  5. 一种命令行解析的新思路(Go 语言描述)
  6. 蓝桥每日真题之时间显示
  7. win10 安装c语言无法启动,win10开机出现0xc0000098无法启动简单解决方法
  8. 随机数算法 java_最全的java随机数生成算法
  9. easyui增删改查全部代码
  10. 十大自动化软件测试工具
  11. 微信小程序云开发数据库update函数更新不了数据(已解决)
  12. hba卡在服务器什么位置,设置服务器通过HBA卡启动目前服务器主流使用的是Qlogic和Emulex.doc...
  13. erlang 学习ets表-2
  14. 【Word】Word运行时提示“Word在试图打开文件时遇到错误”的解决办法
  15. HanLP《自然语言处理入门》笔记--1.新手上路
  16. 《IT通史》读后感一
  17. surface pro3深度linux,surface pro4 安装deepin教程
  18. JES-java emil server搭建
  19. pygame之pygame模块
  20. Android-图片预览(自定义ImageView实现图片缩放,多点触控,自由移动)

热门文章

  1. 系统入门(1):安卓系统bootloader模式是什么?如何进入bootloader
  2. 五款堪称神器的网页翻译插件,不知道就亏大了!
  3. ERROR 1118 (42000) at line 1278: Row size too large ( 8126)
  4. CGAL的安装与在VS中的配置
  5. 解决Mac无法关闭80端口,无法将hosts域名指向本地80端口
  6. 全量备份,差量备份,增量备份的异同
  7. python 计算一年内的所有周的具体日期
  8. vue 实现出生日期计算年龄
  9. MySQL 6:MySQL存储过程、存储函数
  10. Wireshark基本介绍