2. 环境搭建与工具准备
在开始特征回放对比的实践之前,搭建一个稳定、可复现的 Python 开发环境是第一步。本章将引导你完成从 Python 解释器安装到核心数据科学库验证的全流程,确保后续所有实验都能在统一的环境中顺利运行。
2.1 Python 环境配置
推荐使用 Python 3.9 ~ 3.12 版本,避免使用 Python 2.x 或过旧的 3.x 版本。以下是两种主流的环境配置方式:
| 方式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 官方 Python 安装 | 单项目、快速上手 | 安装简单,无额外依赖 | 多项目环境隔离困难 |
| Anaconda / Miniconda | 多项目、数据科学团队 | 内置包管理器,环境隔离强 | 安装包体积较大 |
| venv + pip | 轻量级、生产部署 | 标准库自带,轻量灵活 | 需手动管理依赖文件 |
推荐选择: 本课程采用 Miniconda 作为环境管理工具,兼顾轻量与隔离性。安装后可通过
conda create -n feature_replay python=3.10 创建专用环境。
2.2 Jupyter Notebook 安装
Jupyter Notebook 是特征回放对比工作中最常用的交互式开发工具,支持代码、可视化图表与说明文本的混合编排。安装步骤如下:
- 激活环境:
conda activate feature_replay - 安装 Jupyter:
conda install jupyter notebook或pip install jupyter - 启动服务: 终端执行
jupyter notebook,浏览器自动打开工作台 - 验证安装: 新建一个 Notebook,执行
import jupyter; print(jupyter.__version__)
常见问题: 如果启动后浏览器无法自动打开,请复制终端输出的
http://localhost:8888/tree 链接手动访问。若遇到内核连接失败,尝试 pip install --upgrade notebook 更新版本。
2.3 核心依赖库安装与验证
特征回放对比涉及数据处理、数值计算、可视化与机器学习建模四个核心环节,对应的依赖库如下:
| 库名称 | 版本要求 | 核心用途 | 安装命令 |
|---|---|---|---|
| pandas | ≥ 1.5.0 | 数据读取、清洗、聚合与特征工程 | conda install pandas |
| numpy | ≥ 1.24.0 | 数值计算、数组操作与随机数生成 | conda install numpy |
| matplotlib | ≥ 3.7.0 | 静态图表绘制与特征分布可视化 | conda install matplotlib |
| scikit-learn | ≥ 1.3.0 | 特征选择、降维与模型评估 | conda install scikit-learn |
安装完成后,建议执行以下验证脚本,确保所有库均可正常导入且版本符合要求:
# 验证脚本:check_env.py
import sys
import pandas as pd
import numpy as np
import matplotlib
import sklearn
print(f"Python 版本: {sys.version}")
print(f"pandas 版本: {pd.__version__}")
print(f"numpy 版本: {np.__version__}")
print(f"matplotlib 版本: {matplotlib.__version__}")
print(f"scikit-learn 版本: {sklearn.__version__}")
# 快速功能测试
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
arr = np.array([1, 2, 3])
print(f"pandas DataFrame 创建成功: {df.shape}")
print(f"numpy 数组均值: {arr.mean()}")
print("✅ 所有核心库安装验证通过!")
预期输出示例: 如果所有库安装正确,终端将依次打印各库的版本号,并在最后显示绿色提示 "✅ 所有核心库安装验证通过!"。若某个库导入失败,请检查环境是否激活或尝试
pip install --upgrade 库名 重新安装。
2.4 环境架构总览
下图展示了从底层操作系统到上层应用工具的完整环境层级关系,帮助你理解各组件之间的依赖与协作方式:
2.5 依赖关系与数据流
在特征回放对比的实际工作流中,四个核心库并非孤立运行,而是形成一条清晰的数据处理链路。下图展示了从原始数据输入到最终对比结果输出的完整数据流:
2.6 环境验证清单
完成上述所有步骤后,请对照以下清单逐项确认,确保环境准备无遗漏:
| 检查项 | 验证方法 | 通过标准 |
|---|---|---|
| Python 版本 | python --version |
显示 3.9.x / 3.10.x / 3.11.x / 3.12.x |
| Jupyter Notebook | jupyter notebook --version |
显示版本号且无报错 |
| pandas 导入 | python -c "import pandas; print(pandas.__version__)" |
版本 ≥ 1.5.0 |
| numpy 导入 | python -c "import numpy; print(numpy.__version__)" |
版本 ≥ 1.24.0 |
| matplotlib 导入 | python -c "import matplotlib; print(matplotlib.__version__)" |
版本 ≥ 3.7.0 |
| scikit-learn 导入 | python -c "import sklearn; print(sklearn.__version__)" |
版本 ≥ 1.3.0 |
环境快照保存: 验证通过后,建议执行
conda env export > environment.yml 导出当前环境的完整依赖列表。后续章节实验前,可通过 conda env create -f environment.yml 快速重建完全一致的环境,确保结果可复现。