【AI知识】有监督学习之回归任务(附线性回归代码及可视化)

1. 回归的基本概念

在机器学习的有监督学习中,回归(Regression)是一种常见的任务,它的目标是通过观察数据来建立一个模型,用一个或多个自变量来预测因变量的值。

回归分析通常用于: a.预测 ,基于已有数据,预测未知的数据,b. 解释关系,分析自变量与因变量之间的关系和影响。

回归任务举例: 根据房屋的面积、位置、房龄等信息,预测房屋的市场价格。

回归模型的类型: 线性回归(Linear Regression)、 非线性回归(Nonlinear Regression)、岭回归(Ridge Regression)等

2. 线性回归(Linear Regression)

线性回归是最基础的回归方法,它假设自变量和因变量之间存在线性关系。常见的线性回归模型有:


3. 非线性回归(Nonlinear Regression)

当自变量和因变量之间的关系不再是线性时,可使用非线性回归,适用于那些数据呈现曲线而不是直线趋势的情况。这种回归模型包含了更复杂的数学关系,例如:


4. 回归任务的评估指标

回归模型的评估指标用来衡量模型的预测能力和拟合程度。常见的评估指标有:

5. 使用 scikit-learn 库进行单变量线性回归分析

python 复制代码
# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# 生成模拟数据
np.random.seed(42)  # 为了可复现性
X = 2 * np.random.rand(100, 1)  # 生成100个随机自变量
Y = 4 + 3 * X + np.random.randn(100, 1)  # 生成因变量(线性关系加上噪声)

# 可视化数据
plt.scatter(X, Y, color='blue', label='Data Points')
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Generated Data')
plt.show()
python 复制代码
# 数据集划分:80%训练,20%测试
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)

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

# 训练模型
model.fit(X_train, Y_train)

# 进行预测
Y_pred = model.predict(X_test)

# 打印回归系数和截距
print(f"回归系数 (β1): {model.coef_[0]}")
print(f"截距 (β0): {model.intercept_}")
#回归系数 (β1): [2.79932366]
#截距 (β0): [4.14291332]
python 复制代码
# 评估模型
mse = mean_squared_error(Y_test, Y_pred)
r2 = r2_score(Y_test, Y_pred)
print(f"均方误差 (MSE): {mse}")
print(f"决定系数 (R²): {r2}")
#均方误差 (MSE): 0.6536995137170021
#决定系数 (R²): 0.8072059636181392

# 可视化结果
plt.scatter(X_test, Y_test, color='blue', label='True Data')
plt.plot(X_test, Y_pred, color='red', label='Regression Line')
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Linear Regression Model')
plt.legend()
plt.show()
相关推荐
Learn Beyond Limits3 分钟前
Transfer Learning|迁移学习
人工智能·python·深度学习·神经网络·机器学习·ai·吴恩达
程序员三明治4 分钟前
三、神经网络
人工智能·深度学习·神经网络
hundaxxx1 小时前
自演化大语言模型的技术背景
人工智能
数智顾问2 小时前
【73页PPT】美的简单高效的管理逻辑(附下载方式)
大数据·人工智能·产品运营
love530love2 小时前
【保姆级教程】阿里 Wan2.1-T2V-14B 模型本地部署全流程:从环境配置到视频生成(附避坑指南)
人工智能·windows·python·开源·大模型·github·音视频
木头左2 小时前
结合机器学习的Backtrader跨市场交易策略研究
人工智能·机器学习·kotlin
Coovally AI模型快速验证2 小时前
3D目标跟踪重磅突破!TrackAny3D实现「类别无关」统一建模,多项SOTA达成!
人工智能·yolo·机器学习·3d·目标跟踪·无人机·cocos2d
研梦非凡2 小时前
CVPR 2025|基于粗略边界框监督的3D实例分割
人工智能·计算机网络·计算机视觉·3d
MiaoChuAI2 小时前
秒出PPT vs 豆包AI PPT:实测哪款更好用?
人工智能·powerpoint
fsnine2 小时前
深度学习——残差神经网路
人工智能·深度学习