Skip to content

第 05 章 Python 与 AI 工具链

学习目标

理解人工智能训练中常见编程语言、Python 基础语法、数据处理库、机器学习库、深度学习框架和开发环境。理论题常考工具用途和基础代码流程。

考点地图

高频:Python 数据结构、NumPy、Pandas、Scikit-learn、PyTorch、Jupyter、VS Code、数据读取、训练流程。

1. 为什么常用 Python

Python 在 AI 中常用,因为:

  • 语法简洁。
  • 库生态丰富。
  • NumPy/Pandas 适合数据处理。
  • Scikit-learn 适合传统机器学习。
  • PyTorch/TensorFlow 适合深度学习。
  • Jupyter Notebook 适合实验和展示。

2. Python 基础数据结构

类型特点例子
list有序、可变[1, 2, 3]
tuple有序、不可变(1, 2)
dict键值对{'a': 1}
set无序、不重复{1, 2, 3}
str字符串'hello'

常考:dict 查找快;set 可去重;tuple 不可变。

3. 函数与面向对象

函数用于封装可复用逻辑。

python
def add(a, b):
    return a + b

类用于封装对象的属性和方法。

python
class ModelConfig:
    def __init__(self, lr):
        self.lr = lr

考试更可能考概念,不会考复杂编程。

4. NumPy

NumPy 核心是 ndarray 多维数组。

常见概念:

  • shape:数组形状。
  • dtype:数据类型。
  • axis:操作维度。
  • broadcasting:广播机制。
  • vectorization:向量化计算。

例子:

python
import numpy as np
x = np.array([[1, 2], [3, 4]])
print(x.shape)  # (2, 2)

axis 简记:

  • axis=0:沿行方向压缩,常理解为按列统计。
  • axis=1:沿列方向压缩,常理解为按行统计。

5. Pandas

Pandas 常用于表格数据处理。

常见对象:

  • Series:一维数据。
  • DataFrame:二维表格。

常见操作:

任务方法
读取 CSVpd.read_csv()
查看前几行df.head()
查看字段类型df.info()
缺失统计df.isna().sum()
填充缺失df.fillna()
删除缺失df.dropna()
去重df.drop_duplicates()
分组df.groupby()
合并pd.merge()
One-Hotpd.get_dummies()

6. Matplotlib 和 Seaborn

用于数据可视化。

常见图:

  • 折线图:趋势。
  • 柱状图:类别比较。
  • 直方图:分布。
  • 箱线图:异常值。
  • 散点图:变量关系。
  • 热力图:相关性矩阵。

7. Scikit-learn

Scikit-learn 是传统机器学习常用库。

典型流程:

python
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import f1_score

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.3, random_state=42
)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

model = LogisticRegression()
model.fit(X_train_scaled, y_train)
pred = model.predict(X_test_scaled)
print(f1_score(y_test, pred))

关键考试点:

  • fit:学习参数。
  • transform:应用转换。
  • fit_transform:学习并转换。
  • 训练集用 fit_transform,测试集只用 transform

8. PyTorch

PyTorch 是深度学习框架。

核心概念:

  • Tensor:张量。
  • Autograd:自动求导。
  • nn.Module:神经网络模块。
  • Dataset:定义数据集。
  • DataLoader:批量加载数据。
  • Loss:损失函数。
  • Optimizer:优化器。

典型训练步骤:

  1. 准备数据。
  2. 定义模型。
  3. 定义损失函数。
  4. 定义优化器。
  5. 前向传播。
  6. 计算损失。
  7. 反向传播。
  8. 更新参数。
  9. 验证评估。

9. Jupyter Notebook 与 IDE

  • Jupyter Notebook:适合实验、可视化、逐步运行。
  • VS Code:通用代码编辑器,适合项目开发。
  • PyCharm:Python IDE。
  • Conda/Pip:环境和包管理。

10. 常见文件格式

格式用途
CSV表格数据,逗号分隔
JSON半结构化数据,API 常用
TXT普通文本
XML半结构化标记语言
Parquet列式存储,数据分析常用
JPG/PNG图片
WAV/MP3音频
MP4/AVI视频
PT/PTHPyTorch 模型参数常见格式
ONNX跨框架模型交换格式

易错点

易错点正确理解
fit 和 transform 一样错。fit 学参数,transform 应用参数
测试集也可以 fit scaler错。会数据泄漏
Pandas 主要处理图像张量错。Pandas 主要处理表格数据
PyTorch 只用于传统机器学习错。PyTorch 主要用于深度学习
Jupyter 是编程语言错。Jupyter 是交互式开发环境

例题

例题 1

Pandas 中读取 CSV 文件常用:

A. pd.read_csv()
B. pd.open_image()
C. np.train()
D. torch.sql()

答案:A。

例题 2

Scikit-learn 中对训练集标准化通常使用:

A. fit_transform
B. 只在测试集 fit
C. 删除测试集
D. 修改标签

答案:A。

例题 3

PyTorch 中自动求导机制通常称为:

A. Autograd
B. GROUP BY
C. DNS
D. Kappa

答案:A。

自测清单

  • 能说出 list、tuple、dict、set 区别。
  • 能说出 NumPy、Pandas、Scikit-learn、PyTorch 用途。
  • 能解释 fit、transform、fit_transform。
  • 能描述深度学习训练循环。
  • 能识别常见数据文件格式。