《机器学习与深度学习》入门

1.🚀 Scikit-learn入门与线性回归实战指南

流程图:

python 复制代码
flowchart TD
A[Scikit-learn入门与线性回归实战] --> B[环境准备与安装]
A --> C[机器学习核心流程理解]
A --> D[线性回归模型实战]
A --> E[模型评估与结果解读]

B --> B1["安装Scikit-learn库<br>pip install scikit-learn"]
B --> B2["验证安装<br>import sklearn"]

C --> C1["数据加载与预处理"]
C --> C2["数据集划分"]
C --> C3["模型训练与评估"]

D --> D1["选择线性回归算法"]
D --> D2["训练模型"]
D --> D3["进行预测"]

E --> E1["计算MSE均方误差"]
E --> E2["计算R²决定系数"]
E --> E3["结果可视化"]

📦 1.1 环境准备与Scikit-learn安装

核心目标​:成功安装Scikit-learn库并验证安装。

1.1.1 安装Scikit-learn

  • 确保你的Conda虚拟环境(如ai_env)是激活状态。
  • 在终端中运行以下命令使用pip安装
bash 复制代码
# 使用pip安装,国内用户可添加清华源加速下载
pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple

# 或者使用conda安装(如果你更习惯conda)
# conda install scikit-learn

1.1.2 验证安装

安装完成后,在终端中启动Python解释器,输入以下命令

python 复制代码
import sklearn
print(sklearn.__version__)  # 输出安装的scikit-learn版本号

1.1.3 验收标准

  • ✅ 终端执行安装命令无报错。
  • ✅ 能成功导入sklearn库并打印出版本号。

🔄 1.2 理解机器学习流程与数据准备

核心目标​:理解机器学习的基本流程,并为线性回归模型准备数据。

1.2.1 机器学习基本流程

Scikit-learn中的机器学习工作流通常遵循以下步骤,理解它们对你后续的学习至关重要:

  • 数据加载与预处理:获取数据,并进行清洗、归一化、编码等操作。
  • 划分训练集/测试集:将数据集分为两部分,一部分用于训练模型,另一部分用于测试模型性能。
  • 选择模型:根据任务选择合适的算法。
  • 训练模型:使用训练数据来拟合模型。
  • 评估模型:使用测试数据评估模型的性能

1.2.2 加载与准备数据

创建一个新的Python脚本(如linear_regression_demo.py),使用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

# 加载内置的糖尿病数据集(这是一个常用的回归数据集)
from sklearn.datasets import load_diabetes
diabetes = load_diabetes()

# 查看数据集描述(可选,但有助于理解数据)
# print(diabetes.DESCR)

# 指定特征(X)和目标变量(y)
X = diabetes.data  # 所有特征
y = diabetes.target  # 目标变量:糖尿病指数

# 将数据划分为训练集和测试集[7,8](@ref)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# test_size=0.2 表示20%的数据作为测试集
# random_state 确保每次分割的结果一致,便于复现结果

1.2.3 验收标准

  • ✅ 能清晰描述机器学习流程中的关键步骤。
  • ✅ 成功加载数据集并将其划分为训练集和测试集。

🤖 1.3 模型训练、评估与实战

核心目标​:训练你的第一个线性回归模型,并进行预测和评估。

1.3.1 训练线性回归模型

在同一个脚本中继续添加以下代码:

python 复制代码
# 创建线性回归模型对象
model = LinearRegression()

# 使用训练数据训练模型[6,8](@ref)
model.fit(X_train, y_train)

# 使用训练好的模型对测试集进行预测[6,8](@ref)
y_pred = model.predict(X_test)

1.3.2 评估模型性能

继续添加评估代码:

python 复制代码
# 计算均方误差(MSE)[9,11](@ref)
mse = mean_squared_error(y_test, y_pred)
print(f"均方误差(MSE): {mse:.2f}")

# 计算决定系数(R²分数)[9,11](@ref)
r2 = r2_score(y_test, y_pred)
print(f"决定系数(R²分数): {r2:.4f}")

# (可选)输出模型系数和截距,理解模型
print(f"模型系数: {model.coef_}")
print(f"模型截距: {model.intercept_}")

1.3.3 结果可视化

为了更直观地理解预测结果,可以绘制真实值与预测值的散点图:

python 复制代码
# 绘制真实值与预测值的散点图
plt.figure(figsize=(8, 6))
plt.scatter(y_test, y_pred, alpha=0.5)
plt.xlabel("真实值")
plt.ylabel("预测值")
plt.title("线性回归预测结果:真实值 vs 预测值")

# 添加理想拟合线(y=x)
min_val = min(y_test.min(), y_pred.min())
max_val = max(y_test.max(), y_pred.max())
plt.plot([min_val, max_val], [min_val, max_val], color='red', linestyle='--')

plt.tight_layout()
plt.show()

1.3.4验收标准

  • ✅ 成功训练线性回归模型并对测试集进行预测。
  • ✅ 计算并输出了MSE和R²分数。对于糖尿病数据集,R²分数通常在0.3到0.5之间,这属于正常范围。
  • ✅ (可选)成功绘制了真实值与预测值的对比图。
相关推荐
雅欣鱼子酱2 小时前
USB Type-C PD取电(诱骗,诱电,SINK),筋膜枪专用取电芯片
网络·人工智能·芯片·电子元器件
kisshuan123967 小时前
【深度学习】使用RetinaNet+X101-32x4d_FPN_GHM模型实现茶芽检测与识别_1
人工智能·深度学习
Learn Beyond Limits7 小时前
解构语义:从词向量到神经分类|Decoding Semantics: Word Vectors and Neural Classification
人工智能·算法·机器学习·ai·分类·数据挖掘·nlp
崔庆才丨静觅7 小时前
0代码生成4K高清图!ACE Data Platform × SeeDream 专属方案:小白/商家闭眼冲
人工智能·api
哥布林学者8 小时前
吴恩达深度学习课程五:自然语言处理 第一周:循环神经网络 (六)长短期记忆 LSTM
深度学习·ai
qq_356448378 小时前
机器学习基本概念与梯度下降
人工智能
水如烟8 小时前
孤能子视角:关系性学习,“喂饭“的小孩认知
人工智能
徐_长卿9 小时前
2025保姆级微信AI群聊机器人教程:教你如何本地打造私人和群聊机器人
人工智能·机器人
XyX——9 小时前
【福利教程】一键解锁 ChatGPT / Gemini / Spotify 教育权益!TG 机器人全自动验证攻略
人工智能·chatgpt·机器人