机器学习第2天:简单线性回归模型
文章目录
- 一、概念
- 1. 什么是回归
- 2. 什么是线性
- 3. 什么是线性回归
- 二、具体实现步骤
- 第1步:数据预处理
- 第2步:使用简单线性回归模型来训练训练集
- 第3步:预测结果
- 第4步:可视化
- 训练集结果可视化
- 测试集结果可视化
- 三、可视化结果展示
- 训练集结果可视化结果
- 测试集结果可视化结果
- 四、知识点详解
- 1. 关于LinearRegression()
- 2. 关于数据可视化
一、概念
1. 什么是回归
回归的目的是为了预测,比如在【待补充】这篇文章中通过花瓣长度预测花瓣宽度
回归之所以能预测是因为它通过大量的花瓣长度与宽度数据,“弄懂了”花瓣长度与宽度之间的线性关系,在这个基础之上就可以通过花瓣长度预测花瓣宽度了。
2. 什么是线性
线性就是关系可以用线性方程来表示,通过一个或多个变量来表示另外一个变量。
通俗的说符合“越…,越…”这种说法的可能就是线性关系,比如
- “房子”越大,“租金”就越高
- “汉堡”买的越多,花的“钱”就越多
- 杯子里的“水”越多,“重量”就越大
但是也并非所有“越…,越…”都是线性的,比如“弹簧的弹力与位移的关系”,
3. 什么是线性回归
通过两个或多个变量之间的线性关系来预测结果。
通过鸢尾花的花瓣长度与宽度的线性关系来预测花瓣宽度,通过杯子里水的体积就可以知道(预测)水的重量
二、具体实现步骤
第1步:数据预处理
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.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=1/4, random_state=0)
第2步:使用简单线性回归模型来训练训练集
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)
第3步:预测结果
Y_pred = regressor.predict(X_test)
第4步:可视化
训练集结果可视化
plt.scatter(X_train, Y_train, color='red')
plt.plot(X_train, regressor.predict(X_train), color='blue')
plt.show()
测试集结果可视化
plt.scatter(X_test, Y_test, color='red')
plt.plot(X_test, regressor.predict(X_test), color='blue')
plt.show()
三、可视化结果展示
训练集结果可视化结果
测试集结果可视化结果
四、知识点详解
1. 关于LinearRegression()
sklearn.linear_model包实现了广义线性模型,包括线性回归、Ridge回归、Bayesian回归等。LinearRegression是其中较为简单的线性回归模型。
解释一下什么是回归:回归最简单的定义是,给出一个点集D,用一个函数去拟合这个点集,并且使得点集与拟合函数间的误差最小,如果这个函数曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归。
更多关于回归知识见:线性回归
2. 关于数据可视化
plt.scatter():绘画出训练集数据的散点图
plt.plot():绘画出依据模型(LinearRegression的线性回归模型)生成的直线
更加直观的观察数据集中的X、Y是否存在线性关系
关于数据可视化更多知识见:Matplotlib 简介
你可以在下方留下你的疑惑,大家一起来看看
机器学习第2天:简单线性回归模型相关推荐
- 机器学习(2)---简单线性回归模型
机器学习(2)---简单线性回归模型 第一步:数据预处理 import pandas as pd import numpy as np import matplotlib.pyplot as pltd ...
- Python Train_机器学习--基于Python的简单线性回归
一.概念 线性回归(Linear regression)是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析. 这种函数是一个或多个称为回归系数的模型参数的线性 ...
- Python构建简单线性回归模型教程
本文介绍如何构建简单线性回归模型及计算其准确率,最后介绍如何持久化模型. 线性回归模型 线性回归表示发现函数使用线性组合表示输入变量.简单线性回归很容易理解,使用了基本的回归技术,一旦理解了这些基本概 ...
- R语言使用lmPerm包应用于线性模型的置换方法(置换检验、permutation tests)、使用lm模型构建简单线性回归模型、使用lmp函数生成置换检验回归分析模型
R语言使用lmPerm包应用于线性模型的置换方法(置换检验.permutation tests).使用lm模型构建简单线性回归模型.使用lmp函数生成置换检验回归分析模型(Permutation te ...
- R语言使用lm函数构建简单线性回归模型(建立线性回归模型)、拟合回归直线、使用attributes函数查看线性回归模型的属性信息、获取模型拟合对应的残差值residuals
R语言使用lm函数构建简单线性回归模型(建立线性回归模型).拟合回归直线.使用attributes函数查看线性回归模型的属性信息.获取模型拟合对应的残差值residuals 目录
- R语言使用lm函数构建简单线性回归模型(建立线性回归模型)、拟合回归直线、可视化散点图并添加简单线性回归直线、添加模型拟合值数据点、添加拟合值点和实际数据点之间的线段表示残差大小、col参数自定义设置
R语言使用lm函数构建简单线性回归模型(建立线性回归模型).拟合回归直线.可视化散点图并添加简单线性回归直线.添加模型拟合值数据点.添加拟合
- 二、简单线性回归模型(计量经济学学习笔记)
研究经济变量之间相互数量关系最基本的方法之一是回归分析. ①回归分析与回归函数 1.1相关分析与回归分析 1.1.1函数关系与相关关系 经济变量之间的相互依存关系有两种:1.确定性的函数关系 2.不确 ...
- R语言使用lm函数构建简单线性回归模型(建立线性回归模型)、拟合回归直线、使用residuls函数从模型中提取每个样本点的残差值、可视化残差与拟合值之间的散点图来看残差的分布模式
R语言使用lm函数构建简单线性回归模型(建立线性回归模型).拟合回归直线.使用residuls函数从模型中提取每个样本点的残差值.可视化残差与拟合值之间的散点图来看残差的分布模式 目录
- 【Keras】简单线性回归模型
Keras简单线性回归模型 导入安装包 加载数据 创建模型并训练 预测与结果可视化 导入安装包 import pandas as pd from keras.models import Sequent ...
最新文章
- Fragment第二次加载没有数据
- 全球及中国清洁能源发电行业需求容量及应用前景分析报告2021-2027年
- Mybatis 关于同一条SQL语句实现批量插入和更新(SaveOrUpdate)完整版
- OpenGL envmapsphere球形环境图的实例
- python中的chr和ord函数_python chr()和ord() | 学步园
- CGContextAddLines和CGContextAddLineToPoint在线条半透明时候的区别
- java 的对象类用_java基础(第零篇)对象与类
- 趣说游戏AI开发:对状态机的褒扬和批判
- 深度剖析数据中台提供的数据服务
- GDAL源码剖析(四)之命令行程序说明二
- Ceph分布式存储学习指南1.12 Lustre
- mysql 多数据源_SpringBoot+多数据源(MySQL)
- 科普:机器视觉技术原理解析及应用领域
- 计算机控制系统电梯控制,计算机控制系统实验报告1.doc
- python垃圾分类游戏_垃圾分类就要来了?教你使用Python轻松完成垃圾分类
- JDK 运行参数 JAVA -Dxxx与System.setProperty()的关系
- 17岁韩寒在CCTV《对话》舌战群吊的视频
- CKEditor 4.12.1富文本编辑器的配置与使用(详细版)
- 关于学生和老师关系的换位思考
- php7.2.3下载,最新PHP编程软件v7.3.2.0 官方版下载地址电脑版-锐品软件
热门文章
- bilibili深入理解计算机系统笔记(2):第一次代码重构,汇编模拟器,递归,指令周期实现。
- python代码架构_Python架构
- SNMP功能开发简介 三 使用DEBUGMSG打印指定的信息
- struts2.3.12+hibernate4.3.11+spring4.2.2整合问题2java.lang.ClassNotFoundException: org.springframework.w
- java collections.sort 忽略大小写排序_Java Spring Mongo排序忽略大小写问题
- lstm数学推导_手推公式:LSTM单元梯度的详细的数学推导
- 多媒体个人计算机必须硬件设备包括,计算机基础在线测试.doc
- goto是python的保留字吗,基于python goto的正确用法说明
- 使用C++访问MySQL数据库(VS2019)
- import export php,import与export在node.js中的使用方法