3 - L2_2 机器学习 | 多元线性回归模型

多元线性回归模型 Multiple Linear Regression

一、多元线性回归

多元线性回归(Multiple Linear Regression)是一种统计方法,用于通过多个特征变量来预测一个目标变量。

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

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

与一元线性回归一样,多元线性回归自然是一个回归问题。

● 一元线性回归方程:Y=β0+β1X+ϵ。

● 多元线性回归方程:Y=β0+β1X1+β2X2+.......+βnXn+ϵ。

其中:

  • X 是特征变量(自变量)
  • Y 是目标变量(因变量)
  • X1,X2,....,Xn是特征变量
  • β0是截距(intercept),即X=0时Y的预测值
  • β1,β2,....,βn是回归系数(regression coefficients),表示X每增加一个单位,Y的变化量
  • ϵ是误差项(error term),表示预测值与实际值的差异

多元线性回归的目标是找到最佳的回归系数,使得预测值Y^与实际值Y之间的差异(误差)最小化。通常使用最小二乘法(Ordinary Least Squares, OLS)来估计回归系数

二、代码实现 (用其他三个变量来预测花瓣长度 Pental Length)

1. 导入数据集

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import seaborn as sns
import matplotlib.pyplot as plt

# 加载数据集
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
names = ['Sepal Length', 'Sepal Width', 'Petal Length', 'Petal Width', 'Class']

dataset = pd.read_csv(url, names=names)
dataset

3. 提取特征和目标变量

# 提取特征和目标变量
X = dataset.iloc[:, [0, 1, 3]].values  # sepal length, sepal width, petal width
y = dataset.iloc[:, 2].values  # petal length

4. 划分为训练集和测试集

# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

5. 创建线性多元回归模型并训练模型

# 创建线性回归模型
model = LinearRegression()

# 使用训练集训练模型
model.fit(X_train, y_train)

6. 在测试集上预测结果

# 使用测试集进行预测
y_pred = model.predict(X_test)

7. 结果可视化

# 绘制图像
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5))

# 绘制训练集结果
sns.scatterplot(x=model.predict(X_train), y=y_train, color='blue', label='Predicted vs Actual (Training)', ax=ax1)
ax1.set_title('Training set results')
ax1.set_xlabel('Predicted Petal Length')
ax1.set_ylabel('Actual Petal Length')
ax1.legend()

# 绘制测试集结果
sns.scatterplot(x=y_pred, y=y_test, color='red', label='Predicted vs Actual (Testing)', ax=ax2)
ax2.set_title('Test set results')
ax2.set_xlabel('Predicted Petal Length')
ax2.set_ylabel('Actual Petal Length')
ax2.legend()

plt.tight_layout()
plt.show()

总结

通过多元线性回归,我们可以利用多个特征变量来进行预测,帮助我们更准确地理解和预测复杂现象。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值