第L2周:机器学习|线性回归模型 LinearRegression:2. 多元线性回归模型

server/2024/10/16 0:18:40/
  • 本文为365天深度学习训练营 中的学习记录博客
  • 原作者:K同学啊

任务:
●1. 学习本文的多元线形回归模型。
●2. 参考文本预测花瓣宽度的方法,选用其他三个变量来预测花瓣长度。

一、多元回归>线性回归

简单回归>线性回归:影响 Y 的因素唯一,只有一个。
多元回归>线性回归:影响 Y 的因数不唯一,有多个。

与一元回归>线性回归一样,多元回归>线性回归自然是一个回归问题。
在这里插入图片描述

相当于我们高中学的一元一次方程,变成了 n 元一次方程。因为 y 还是那个 y。只是自变量增加了。

二、代码实现

我的环境:
●语言环境:Python3.9
●编译器:Jupyter Lab

第1步:数据预处理

  1. 导入数据集
import pandas as pd
import numpy as npurl = "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)
dataset

代码输出:

花萼-length花萼-width花瓣-length花瓣-widthclass
05.13.51.40.2Iris-setosa
14.93.01.40.2Iris-setosa
24.73.21.30.2Iris-setosa
34.63.11.50.2Iris-setosa
45.03.61.40.2Iris-setosa
..................
1456.73.05.22.3Iris-virginica
1466.32.55.01.9Iris-virginica
1476.53.05.22.0Iris-virginica
1486.23.45.42.3Iris-virginica
1495.93.05.11.8Iris-virginica

150 rows × 5 columns

备注:
如果报下面错误:URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)>
在代码开头加上如下代码即可:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

  1. 数据分析
import matplotlib.pyplot as pltplt.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()

代码输出:

在这里插入图片描述

X = dataset.iloc[ : ,[1,2]].values
Y = dataset.iloc[ : ,  3 ].values
  1. 构建训练集、测试集
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)

第2步:训练多元回归>线性回归模型

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

第3步:在测试集上预测结果

y_pred = regressor.predict(X_test)
y_pred

代码输出:

array([1.76025586, 1.23794101, 0.29130263, 2.28334281, 0.2668048 ,2.18837013, 0.18945083, 1.61397124, 1.63158995, 1.28848086,1.95785242, 1.53661727, 1.58870131, 1.54581268, 1.59712462,0.24153487, 1.51134735, 1.44318879, 0.19022292, 0.22314407,1.67447859, 1.51977066, 0.43835934, 0.18179962, 1.63158995,0.06920823, 0.47205258, 1.42557008, 0.94614386, 0.30969343])

第4步:测试集预测结果可视化

plt.scatter(Y_test,y_pred, color='red')plt.xlabel("True")
plt.ylabel("Prediction")plt.show()

代码输出:

在这里插入图片描述


http://www.ppmy.cn/server/124895.html

相关文章

先进制造aps专题二十六 基于强化学习的人工智能ai生产排程aps模型简介

基于强化学习的人工智能ai生产排程模型简介 人工智能ai能不能做生产排程&#xff1f; 答案是肯定的。 ai的算法分两类&#xff0c;一类是学习&#xff0c;一类是搜索。 而生产排程问题&#xff0c;它是一个搜索问题&#xff0c;本质上&#xff0c;它和下围棋是一样的 我们…

sql中的regexp与like区别

sql中的regexp与like区别 1、REGEXP2、LIKE3、区别与选择 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、REGEXP 用途&#xff1a;高级字符串匹配&#xff0c;使用正则表达式。特点&#xff1a;灵活性强&#xff0c;能进行复杂模式匹配…

简单PCL库读文件(linux vscode编译)

#include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/common/common.h> #include <iostream>int main(int argc, char** argv) {if (argc ! 2) {std::cerr << "请指定 PCD 文件路径" << std::endl;return -…

JavaCV 实现视频链接截取封面工具

引入必要依赖 <!--JavaCV--> <dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.5.7</version> </dependency> <dependency><groupId>cn.hutool</groupI…

vue打包后的dist文件如何启动测试

vue项目进行webpack打包操作 npm run build 后&#xff0c;会生成dist静态文件夹&#xff0c;这个文件是不能直接运行的&#xff0c;如果我们想要进行测试的话&#xff0c;一般是有两种方式 nginx静态代理 首先可以通过nginx做静态资源映射&#xff0c;首先修改nginx的配置 n…

9月27日,每日信息差

第一、中国科学家团队在干细胞治疗领域取得重要突破&#xff0c;通过化学重编程技术成功制备出胰岛细胞&#xff0c;并用于移植治疗一名 1 型糖尿病患者&#xff0c;实现了临床功能性治愈。相关研究成果已发表在国际权威期刊《细胞》上。 第二、交通运输部公路局局长周荣峰在国…

关于PHP 匿名函数在处理数据结构中的应用

PHP 的匿名函数&#xff08;也称为闭包&#xff09;在处理数据结构时非常有用。它们可以在需要一次性函数的情况下使用&#xff0c;例如数组函数的回调、事件处理或作为其他函数的参数。以下是一些常见的应用场景&#xff1a; 数组操作&#xff1a; 使用 array_map、array_fil…

linux系统的常用命令

微服务Linux解析部署使用全流程 Linux安装vim超详细教程 Linux安装JDK及配置环境变量超详细教程 Linux安装tomcat及配置环境变量超详细教程 目录 1、ls&#xff1a;列出目录内容。 2、cd&#xff1a;改变当前目录。 3、pwd&#xff1a;打印当前工作目录的路径 4、mkdir…