L2 线性回归模型

前言

一、我的环境

  • 电脑系统:Windows 11
  • 语言环境:Python 3.9.7
  • 编辑器:Jupyter Lab

二、 简单线性回归模型代码实现

1.数据预处理

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

dataset = pd.read_csv('F:\\博士期间\\课程学习\\机器学习\\365训练营\\data\\studentscores.csv')
# 数据分割:使用iloc方法从Pandas DataFrame中选取数据。X变量包含了数据集中的所有行和第一列的值,而Y变量包含了所有行和第二列的值。
# X变量存储了数据集中的所有特征(.iloc[:, :1]表示选择第一列,即特征列)
#Y变量存储了数据集中的目标变量(.iloc[:, 1]表示选择第二列,即标签列)
X = dataset.iloc[ : , :1].values
Y = dataset.iloc[ : ,1].values
#分割数据集 划分训练集和测试集
#test_size:测试集数据量在整体数据量中的占比(可以理解为X_test与X的比值)
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)
dataset
print(dataset)

在这里插入图片描述

2.简单线性回归模型

sklearn.linear_model包实现了广义线性模型,包括线性回归、Ridge回归、Bayesian回归等。LinearRegression是其中较为简单的线性回归模型。

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.数据预处理

导入数据集

import pandas as pd
import numpy as np
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data" 
 #指定列名 names
names = ['花萼-length', '花萼-width', '花瓣-length', '花瓣-width', 'class'] 
dataset = pd.read_csv(url, names=names)
print(dataset)

在这里插入图片描述

数据分析

import matplotlib.pyplot as plt
#使用matplotlib绘制不同特征之间的关系,以'x', 'o', 'v'作为标记
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()

在这里插入图片描述

构建训练集、测试集

#选择特征列和目标列
X = dataset.iloc[ : ,[1,2]].values
Y = dataset.iloc[ : ,  3 ].values
#构建训练集、测试集
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 LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, Y_train)

3.在测试集上预测结果

#在测试集上预测结果
y_pred = regressor.predict(X_test)

4.测试集预测结果可视化

plt.scatter(Y_test,y_pred, color='red')

plt.xlabel("Prediction")
plt.ylabel("True");

plt.show()

在这里插入图片描述

四、总结

  • 线性回归模型的原理及代码实现
  • 特征列和目标列的划分、训练集预测集的构建
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值