当前位置: 首页 > news >正文

第L2周:机器学习-线性回归

  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍖 原作者:K同学啊

目标

  1. 学习简单线性回归模型和多元线性回归模型
  2. 通过代码实现:通过鸢尾花花瓣长度预测花瓣宽度
    具体实现
    (一)环境
    语言环境:Python 3.10
    编 译 器: PyCharm
    框 架:scikit-learn
    (二)具体步骤:
    造个数据集,内容格式如下:
    image.png
    导入库
import pandas as pd  
import numpy as np  
import matplotlib.pyplot as plt

简单线性回归

# 加载数据
dataset = pd.read_csv('./studentscores.csv')  
print(dataset)

image.png

# 取第一列Hours的值
X = dataset.iloc[:, :1].values  
print(X)

image.png

# 取第二列Scores的值
Y = dataset.iloc[:, 1].values  
print(Y)

image.png
很好奇,看看X,Y的形状:

print(X.shape)
print(Y.shape)

image.png
看来两者是一样的形状和大小 。继续:

# 切分一下数据集,75%用来训练,25%用来测试
from 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)

检验一下切分的成果:

print(X_train, X_train.shape)

image.png

print(Y_train, Y_train.shape)

image.png

print(X_test, X_test.shape)
print(Y_test, Y_test.shape)

image.png
做简单线性回归

# 简单线性回归  
from sklearn.linear_model import LinearRegression  regressor = LinearRegression()  
regressor = regressor.fit(X_train, Y_train)# 预测一下结果  
Y_pred = regressor.predict(X_test)  print(Y_pred, Y_pred.shape)

image.png
这个预测结果和上面的Y_test比较一下,可以看到两者之间的差距以及相似性。我们进行可视化直观看看:

# 训练集可视化  
plt.scatter(X_train, Y_train, color='red')  
plt.plot(X_train, regressor.predict(X_train), color='blue')  
plt.show()

**image.png

# 测试集预测结果可视化  
plt.scatter(X_test, Y_test, color='red')  
plt.plot(X_test, regressor.predict(X_test), color='blue')  
plt.show()

image.png
红点是实际分布,蓝色线是预测趋势线。两者是趋于一致的,预测的偏离并不大。
注:plt.scatter()绘制散点图,plt.plot()绘制折线图。

下面看看多元线性回归,通过鸢尾花花瓣长度预测花瓣宽度

  1. 导入数据集
url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data'  
names = ['花萼-length', '花萼-width', '花瓣-length', '花瓣-width', 'class']  
dataset = pd.read_csv(url, names=names)  
print(dataset)

image.png
2. 分析一下数据

plt.plot(dataset['花萼-length'], dataset['花瓣-width'], 'x', label="marker='x'")  
plt.plot(dataset['花萼-width'], dataset['花瓣-width'], 'o', label="marker='o'")  
plt.plot(dataset['花瓣-length'], dataset['花瓣-width'], 'v', label="marker='v'")  
plt.legend(numpoints=1)  
plt.show()

image.png
3. 取数据

# 取[花萼-width : 花瓣-length]
X = dataset.iloc[:, [1, 2]].values  
print(X, X.shape)

image.png
image.png

Y = dataset.iloc[:, 3].values  # 取花瓣-width值  
print(Y, Y.shape)

image.png
3. 将dataset切分成训练数据集和测试数据集

from sklearn.model_selection import train_test_split  
X_train, X_test, Y_train, Y_test = train_test_split(X, Y,  test_size=0.2,  random_state=0)
  1. 训练多元线性回归模型
from sklearn.linear_model import LinearRegression  
regressor = LinearRegression()  
regressor.fit(X_train, Y_train)
  1. 在测试集上预测结果
y_pred = regressor.predict(X_test)  
print(y_pred)

image.png
6. 把测试集预测结果可视化

plt.scatter(Y_test, y_pred, color='red')  
plt.plot(Y_test, Y_test, color='blue') # 假设预测100%正确,那么走势是蓝线
plt.plot(Y_test)
plt.xlabel("True")  
plt.ylabel("Prediction")  
plt.show()

image.png

相关文章:

第L2周:机器学习-线性回归

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标: 学习简单线性回归模型和多元线性回归模型通过代码实现:通过鸢尾花花瓣长度预测花瓣宽度 具体实现: (一&…...

SpringMVC拦截器深度解析与实战

引言 Spring MVC作为Spring框架的核心模块之一,主要用于构建Web应用程序和RESTful服务。在Spring MVC中,拦截器(Interceptor)是一种强大的机制,它允许开发者在请求处理流程的特定点插入自定义代码,实现诸如…...

直线上最多的点数

优质博文:IT-BLOG-CN 题目 给你一个数组points,其中points[i] [xi, yi]表示X-Y平面上的一个点。求最多有多少个点在同一条直线上。 示例 1: 输入:points [[1,1],[2,2],[3,3]] 输出:3 示例 2: 输入&am…...

经济管理专业数据库介绍

本文介绍了四个经济管理专业数据库:国研网全文数据库、EPS数据平台、中经网、Emerald全文期刊库(管理学)。 一、国研网全文数据库 国研网是国务院发展研究中心主管、北京国研网信息有限公司承办的大型经济类专业网站。国研网教育版”是国研…...

【C++ Primer Plus习题】11.1

问题: 解答: main.cpp #include <iostream> #include <fstream> #include "Vector.h" #include <time.h> using namespace std; using namespace VECTOR;int main() {ofstream fout;fout.open("randwalk.txt");srand(time(0));double d…...

[数据库][oracle]ORACLE EXP/IMP的使用详解

导入/导出是ORACLE幸存的最古老的两个命令行工具&#xff0c;其实我从来不认为Exp/Imp是一种好的备份方式&#xff0c;正确的说法是Exp/Imp只能是一个好的转储工具&#xff0c;特别是在小型数据库的转储&#xff0c;表空间的迁移&#xff0c;表的抽取&#xff0c;检测逻辑和物理…...

中国各银行流动性比例数据(2000-2022年)

介绍中国银行业2000年至2022年间的流动性比例数据&#xff0c;涵盖500多家银行&#xff0c;包括城市商业银行、城镇银行、大型商业银行、股份制银行、民营银行、农村合作银行、农村商业银行、农村信用社等。这些数据对于理解中国银行业的流动性状况至关重要&#xff0c;有助于投…...

MACOS安装配置前端开发环境

官网下载安装Mac版本的谷歌浏览器以及VS code代码编辑器&#xff0c;还有在App Store中直接安装Xcode&#xff08;里面自带git&#xff09;&#xff1b; node.js版本管理器nvm的下载安装如下&#xff1a; 参考B站&#xff1a;https://www.bilibili.com/video/BV1M54y1N7fx/?sp…...

Docker 配置国内镜像源

由于 GFW 的原因&#xff0c;在下载镜像的时候&#xff0c;经常会出现下载失败的情况&#xff0c;此时就可以使用国内的镜像源。 什么是镜像源&#xff1a;简单来说就是某个组织&#xff08;学校、公司、甚至是个人&#xff09;先通过某种手段将国外的镜像下载下来&#xff0c;…...

AI模块在人工智能中扮演着什么样的角色

AI模块在人工智能&#xff08;AI&#xff09;中扮演着核心和关键的角色。它们是构成AI系统的基础单元&#xff0c;负责实现AI系统的各种智能功能。以下是AI模块在人工智能中扮演的具体角色&#xff1a; 功能实现的核心&#xff1a;AI模块集成了实现特定智能功能所需的算法、数据…...

VM Workstation虚拟机AlmaLinux 9.4操作系统安装(桌面版安装详细教程)(宝塔面板的安装),填补CentOS终止支持维护的空白

目录 AlmaLinux介绍 AlmaLinux操作系统的安装 1、下载镜像文件 2、新建虚拟机 &#xff08;1&#xff09;点击创建新的虚拟机 &#xff08;2&#xff09;打开虚拟机向导后&#xff0c;选择“自定义”安装&#xff0c;然后点击“下一步” &#xff08;3&#xff09;选择虚…...

【学习笔记】卫星通信NTN 3GPP标准化进展分析(三)- 3GPP Release17 内容

一、引言&#xff1a; 本文来自3GPP Joern Krause, 3GPP MCC (May 14,2024) Non-Terrestrial Networks (NTN) (3gpp.org) 本文总结了NTN标准化进程以及后续的研究计划&#xff0c;是学习NTN协议的入门。 【学习笔记】卫星通信NTN 3GPP标准化进展分析&#xff08;一&#xff…...

【SQL】常见语句合集

SQL常见语句合集 一. 新建表1.1 语句1.2 结果 二. 新增数据2.1 语句2.2 结果 三. 新增字段列3.1 语句3.2 结果3.3 扩展 四. 更新指定数据4.1 语句4.2 结果 五. 更新指定列5.1 语句&#xff08;长度&#xff09; 六. 删除字段列6.1 语句 七. 删除指定数据7.1 语句 八. 查询 一. …...

Cozer必备!一站式解锁扣子全网最全插件集锦(三)

俗话说&#xff0c;工欲善其事必先利其器&#xff01; 用过Coze的朋友都知道&#xff0c;插件在Coze里的重要性。插件库就相当于武器库&#xff0c;一个好的插件&#xff0c;就相当于一件趁手的兵器&#xff0c;可以让你事半功倍&#xff01; 程哥精心整理了Coze最常用和好用…...

1-2宿主环境

什么是宿主环境 指的是程序运行所必须的依赖环境。Android系统和ios系统是两个不同的宿主环境&#xff0c;安卓版的app是不能在ios系统上运行的。 小程序的宿主环境 &#x1f355;&#x1f355;&#x1f355; -手机微信是小程序的宿主环境 通信的主体 &#x1f354;&…...

Java进阶13讲__第九讲

Stream流 1. 案例初体验 package cn.hdc.oop9.stream.using;import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream;public class t1 {public static void main(String[] args) {LinkedList<String&g…...

上海市计算机学会竞赛平台2024年8月月赛丙组等差数列的素性

题目描述 给定三个整数 nn&#xff0c;aa 与 dd&#xff0c;表示一个项数为 nn 的等差数列&#xff0c;首项为 aa&#xff0c;公差为 dd。 请统计&#xff0c;从这个等差数列中有多少数字是素数 输入格式 三个整数&#xff1a; nn&#xff0c;aa 与 dd 输出格式 单个整数…...

VR虚拟展厅的应用场景有哪些?

虚拟展厅作为一种利用虚拟现实技术构建的三维展示空间&#xff0c;其应用场景广泛且多样。视创云展为企业虚拟展厅搭建提供技术支持。以下是一些主要的应用场景&#xff1a; 1. 博物馆和艺术展览 文物保护与展示&#xff1a; 在博物馆中&#xff0c;为了保护珍贵的文物和艺术…...

Go 语言版本管理——Goenv

Go 语言版本管理——Goenv 命令安装 goenv安装和切换 Go 版本 goenv 是一个专门管理 Go 语言版本的工具。 命令 安装 goenv github-goenv git clone https://github.com/go-nv/goenv.git ~/.goenv echo export GOENV_ROOT"$HOME/.goenv" >> ~/.bash_profile…...

C#中的各种画刷, PathGradientBrush、线性渐变(LinearGradientBrush)和径向渐变的区别

在C#中&#xff0c;画刷&#xff08;Brush&#xff09;是用来填充图形&#xff08;如形状或文本&#xff09;内部区域的对象。在.NET框架中&#xff0c;画刷是System.Drawing命名空间的一部分&#xff0c;通常用于GDI绘图操作。以下是一些常用的画刷类型&#xff1a; SolidBru…...

毕业项目技术辅导:前后端与数据分析模块协作

毕业项目进入冲刺期&#xff0c;功能点多、时间紧、还要准备演示与答辩&#xff1f; 我这边提供毕业项目技术协作&#xff0c;主要做&#xff1a; 前端页面与交互实现&#xff08;可配合你现有框架&#xff09;后端接口、数据库与联调支持数据清洗、分析与可视化展示既有代码 b…...

智能调压突破性能极限:AMD Ryzen处理器调试工具让多核效率提升150%

智能调压突破性能极限&#xff1a;AMD Ryzen处理器调试工具让多核效率提升150% 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址…...

LN2406 PWM/PFM 控制 DC-DC 降压稳压器

■ 产品概述 LN2406 是一款由基准电压源、振荡电路、比较器、PWM/PFM 控制电路等构成的 CMOS 降压 DC/DC 调整器。利用 PWM/PFM 自动切换控制电路达到可调占空比&#xff0c;具有全输入电压范围&#xff08;2.0&#xff0d;6V&#xff09;内的低纹波、高效率和大输出电流等特点…...

TensorSpace版本演进指南:从0.6.1到未来发展的完整路线图

TensorSpace版本演进指南&#xff1a;从0.6.1到未来发展的完整路线图 【免费下载链接】tensorspace Neural network 3D visualization framework, build interactive and intuitive model in browsers, support pre-trained deep learning models from TensorFlow, Keras, Tens…...

如何在Windows系统中轻松访问Linux分区?Ext2Read的5个实用技巧

如何在Windows系统中轻松访问Linux分区&#xff1f;Ext2Read的5个实用技巧 【免费下载链接】ext2read A Windows Application to read and copy Ext2/Ext3/Ext4 (With LVM) Partitions from Windows. 项目地址: https://gitcode.com/gh_mirrors/ex/ext2read 你是否曾经在…...

效率提升神器:用快马AI自动诊断并修复npm 128错误,节省排错时间

效率提升神器&#xff1a;用快马AI自动诊断并修复npm 128错误&#xff0c;节省排错时间 最近在团队协作开发一个Node.js项目时&#xff0c;频繁遇到npm安装依赖报错128的问题。每次都要花大量时间排查SSH配置、网络代理或仓库源的问题&#xff0c;严重影响了开发效率。于是我开…...

终极指南:5分钟学会永久免费使用Cursor Pro的完整教程

终极指南&#xff1a;5分钟学会永久免费使用Cursor Pro的完整教程 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tri…...

保姆级教程:手把手教你用欧空局新版哥白尼系统下载Sentinel-2影像(含波段预览与无云影像合成)

零基础实战指南&#xff1a;新版哥白尼系统Sentinel-2影像全流程获取与处理 第一次接触欧空局的哥白尼数据下载系统时&#xff0c;面对琳琅满目的功能和专业术语&#xff0c;难免会感到无从下手。本文将带你一步步完成从注册到下载再到基础处理的全过程&#xff0c;特别针对Se…...

具身Scaling Law押对了!独角兽新品1小时学会新任务,重复1800次成功率99%

克雷西 发自 凹非寺量子位 | 公众号 QbitAI机器人也开始内卷了&#xff0c;一位表现极其离谱的“新员工”&#xff0c;直接拉高了机器人的“就业门槛”。具身智能独角兽Generalist&#xff0c;刚刚推出了最新的研究成果——新模型Gen-1。在包装手机和折叠纸箱这些精细活儿上&am…...

手把手教你用Stable Diffusion v1.5:从安装到生成第一张AI图片

手把手教你用Stable Diffusion v1.5&#xff1a;从安装到生成第一张AI图片 1. 引言 你是否曾经想过&#xff0c;只需输入一段文字描述&#xff0c;就能让AI自动生成一张精美的图片&#xff1f;Stable Diffusion v1.5作为AI图像生成领域的经典模型&#xff0c;让这个梦想变成了…...