【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()
相关推荐
AI科技星1 天前
ELN 升级:π 级数自动生成器全域数理架构
大数据·人工智能·python·算法·金融
多年小白1 天前
日报 - 2026年4月28日(周二)
网络·人工智能·科技·深度学习·ai
极智视界1 天前
分类数据集 - 棉花病虫害检测图像分类数据集下
人工智能·yolo·数据集·图像分类·算法训练·棉花病虫害检测
龙腾AI白云1 天前
AI项目团队意见分歧?协调与决策方法
人工智能·pygame
Mr数据杨1 天前
AIGC工具平台-Tauri2.x智能工具桌面介绍与使用
人工智能·aigc·tauri
IT观测1 天前
电话机器人服务商选型指南:核心维度与实操解析
人工智能·机器人·语音识别
bryant_meng1 天前
【Hung-yi Lee】《Introduction to Generative Artificial Intelligence》(11)
人工智能·深度学习·llm·speculative·预言家
OriginHub_元枢智汇1 天前
知识图谱的检索增强:图结构与向量化技术的融合实践
人工智能·知识图谱
人工智能AI技术1 天前
Python 有序字典与普通字典基础区别
人工智能
胡耀超1 天前
从逻辑思维到方法论(DMBOK2)并以知识图谱实践指导:构建企业级思维与执行框架
大数据·人工智能·dama·知识图谱·方法论·逻辑学·思维框架