【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()
相关推荐
lili-felicity1 天前
CANN异步推理实战:从Stream管理到流水线优化
大数据·人工智能
做人不要太理性1 天前
CANN Runtime 运行时组件深度解析:任务下沉执行、异构内存规划与全栈维测诊断机制
人工智能·神经网络·魔珐星云
不爱学英文的码字机器1 天前
破壁者:CANN ops-nn 仓库与昇腾 AI 算子优化的工程哲学
人工智能
晚霞的不甘1 天前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
愚公搬代码1 天前
【愚公系列】《AI短视频创作一本通》016-AI短视频的生成(AI短视频运镜方法)
人工智能·音视频
哈__1 天前
CANN内存管理与资源优化
人工智能·pytorch
极新1 天前
智启新篇,智创未来,“2026智造新IP:AI驱动品牌增长新周期”峰会暨北京电子商务协会第五届第三次会员代表大会成功举办
人工智能·网络协议·tcp/ip
island13141 天前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
艾莉丝努力练剑1 天前
深度学习视觉任务:如何基于ops-cv定制图像预处理流程
人工智能·深度学习
禁默1 天前
大模型推理的“氮气加速系统”:全景解读 Ascend Transformer Boost (ATB)
人工智能·深度学习·transformer·cann