手机网站标准,做网页,高端网站设计公司上海,网店平台网站建设需求本文为#x1f517;365天深度学习训练营 中的学习记录博客原作者#xff1a;K同学啊 任务#xff1a; ●1. 通过本文学习LinearRegression简单线形回归模型。 ●2. 模仿本文代码#xff0c;通过鸢尾花花瓣长度预测花瓣宽度。
一、概念
什么是回归
回归的目的是为了预测365天深度学习训练营 中的学习记录博客原作者K同学啊 任务 ●1. 通过本文学习LinearRegression简单线形回归模型。 ●2. 模仿本文代码通过鸢尾花花瓣长度预测花瓣宽度。
一、概念
什么是回归
回归的目的是为了预测比如在通过鸢尾花花瓣长度预测花瓣宽度。
回归之所以能预测是因为它通过大量的花瓣长度与宽度数据“弄懂了”花瓣长度与宽度之间的线性关系在这个基础之上就可以通过花瓣长度预测花瓣宽度了。
什么是线性
线性就是关系可以用线性方程来表示通过一个或多个变量来表示另外一个变量。
通俗的说符合“越…越…”这种说法的可能就是线性关系比如 ●“房子”越大“租金”就越高。 ●“汉堡”买的越多花的“钱”就越多。 ●杯子里的“水”越多“重量”就越大。 但是也并非所有“越…越…”都是线性的比如“弹簧的弹力与位移的关系”。
什么是线性回归
通过两个或多个变量之间的线性关系来预测结果。
通过鸢尾花的花瓣长度与宽度的线性关系来预测花瓣宽度通过杯子里水的体积就可以知道预测水的重量。
二、代码实现
我的环境 ●语言环境Python3.9 ●编译器Jupyter Lab
这里我们采用“学习时长-成绩”数据集采用LinearRegression简单线形回归模型通过学习时长去预测学生成绩。
第1步数据预处理
import pandas as pd
import numpy as np
import matplotlib.pyplot as pltdataset pd.read_csv(./L2/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_size1/4, random_state0)dataset代码输出 HoursScores02.52115.14723.22738.57543.53051.52069.28875.56088.38192.725107.785115.962124.541133.342141.117158.995162.530171.924186.167197.469202.730214.854223.835236.976247.886259.193269.293279.593
train_test_split()函数详解
train_test_split()将数据集划分为测试集与训练集。 ●X所要划分的整体数据的特征集 ●Y所要划分的整体数据的结果 ●test_size测试集数据量在整体数据量中的占比可以理解为X_test与X的比值 ●random_state ○①若不填或者填0每次生成的数据都是随机可能不一样。 ○②若为整数每次生成的数据都相同。 第2步简单线性回归模型
sklearn.linear_model包实现了广义线性模型包括线性回归、Ridge回归、Bayesian回归等。LinearRegression是其中较为简单的线性回归模型。
from sklearn.linear_model import LinearRegressionregressor LinearRegression()
regressor regressor.fit(X_train, Y_train)第3步预测结果
Y_pred regressor.predict(X_test)Y_pred代码输出
array([33.40062313, 39.26803909, 12.86466728, 20.68788856, 16.77627792,59.80399493, 78.38414546])第4步可视化
训练集可视化
plt.scatter(X_train, Y_train, colorred)
plt.plot(X_train, regressor.predict(X_train), colorblue)plt.show()代码输出
测试集预测结果可视化
plt.scatter(X_test, Y_test, colorred)
plt.plot(X_test, regressor.predict(X_test), colorblue)
plt.show()代码输出 三、鸢尾花数据集导入
这里的任务需要使用到的数据集你可以这样导入
url https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data
names [花萼-length, 花萼-width, 花瓣-length, 花瓣-width, class] dataset pd.read_csv(url, namesnames)
dataset代码输出 花萼-length花萼-width花瓣-length花瓣-widthclass05.13.51.40.2Iris-setosa14.93.01.40.2Iris-setosa24.73.21.30.2Iris-setosa34.63.11.50.2Iris-setosa45.03.61.40.2Iris-setosa..................1456.73.05.22.3Iris-virginica1466.32.55.01.9Iris-virginica1476.53.05.22.0Iris-virginica1486.23.45.42.3Iris-virginica1495.93.05.11.8Iris-virginica
150 rows × 5 columns