2. 环境搭建:Python环境配置、Jupyter Notebook安装、必备库安装与验证
本章将引导你完成从零搭建额度定价漂移检测所需的完整开发环境。一个干净、版本一致的环境是后续所有实验可复现的基础。我们将依次完成Python解释器安装、Jupyter Notebook交互式环境配置,以及pandas、numpy、scikit-learn、alibi-detect、matplotlib等核心库的安装与验证。
2.1 Python环境配置
推荐使用Python 3.9~3.11版本,alibi-detect对Python 3.12的支持尚在完善中。以下两种方式任选其一:
| 方式 | 适用场景 | 安装命令 |
|---|---|---|
| 官方Python | 轻量、无多项目隔离需求 | 从python.org下载安装包,勾选"Add Python to PATH" |
| Miniconda | 多环境管理、科学计算首选 | 从docs.conda.io下载安装,后续使用conda create |
💡 建议: 课程项目使用Miniconda + 独立虚拟环境,避免库版本冲突。创建命令:
conda create -n drift_detection python=3.11 -y
2.2 Jupyter Notebook安装
Jupyter Notebook提供交互式编程界面,适合数据探索与模型调试。安装方式如下:
- 激活虚拟环境:
conda activate drift_detection - 安装Jupyter:
pip install jupyter notebook - 启动:终端执行
jupyter notebook,浏览器自动打开工作目录
⚠️ 常见问题: 若启动后浏览器未自动打开,复制终端显示的URL(如 http://localhost:8888/tree)手动访问。若内核报错,检查是否在正确的虚拟环境中启动。
2.3 必备库安装与版本验证
本课程依赖五个核心库,各自承担关键角色:
| 库名 | 版本要求 | 核心用途 | 安装命令 |
|---|---|---|---|
| pandas | ≥1.5.0 | 数据加载、清洗、时间序列切片 | pip install pandas |
| numpy | ≥1.24.0 | 数值计算、数组操作、统计量计算 | pip install numpy |
| scikit-learn | ≥1.2.0 | 特征工程、模型训练、评估指标 | pip install scikit-learn |
| alibi-detect | ≥0.11.0 | 漂移检测算法(KS、MMD、CVM等) | pip install alibi-detect |
| matplotlib | ≥3.6.0 | 可视化:分布对比、漂移趋势图 | pip install matplotlib |
批量安装命令:
pip install pandas numpy scikit-learn alibi-detect matplotlib
2.4 安装验证脚本
在Jupyter Notebook中新建一个Cell,粘贴以下代码并运行。若所有库导入成功且版本符合要求,则环境搭建完成。
# 环境验证脚本
import sys
import pandas as pd
import numpy as np
import sklearn
import alibi_detect
import matplotlib
print(f"Python版本: {sys.version}")
print(f"pandas版本: {pd.__version__}")
print(f"numpy版本: {np.__version__}")
print(f"scikit-learn版本: {sklearn.__version__}")
print(f"alibi-detect版本: {alibi_detect.__version__}")
print(f"matplotlib版本: {matplotlib.__version__}")
# 快速功能验证:生成随机数据并计算均值
data = np.random.randn(100)
print(f"\n随机数据均值: {data.mean():.4f} (验证numpy)")
# 快速功能验证:创建DataFrame
df = pd.DataFrame({'A': [1,2,3], 'B': [4,5,6]})
print(f"DataFrame形状: {df.shape} (验证pandas)")
print("\n✅ 所有库安装成功,环境就绪!")
📌 预期输出示例:
Python版本: 3.11.5 | pandas版本: 2.1.0 | numpy版本: 1.25.2
scikit-learn版本: 1.3.0 | alibi-detect版本: 0.11.4 | matplotlib版本: 3.7.2
随机数据均值: 0.0234 (验证numpy)
DataFrame形状: (3, 2) (验证pandas)
✅ 所有库安装成功,环境就绪!
Python版本: 3.11.5 | pandas版本: 2.1.0 | numpy版本: 1.25.2
scikit-learn版本: 1.3.0 | alibi-detect版本: 0.11.4 | matplotlib版本: 3.7.2
随机数据均值: 0.0234 (验证numpy)
DataFrame形状: (3, 2) (验证pandas)
✅ 所有库安装成功,环境就绪!
2.5 环境依赖关系图
下图展示了各组件之间的调用关系与数据流向,帮助你理解环境全貌:
2.6 常见问题与解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
pip install 报网络超时 |
默认源下载慢 | 使用国内镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名 |
| Jupyter Notebook 内核显示"Kernel Error" | 虚拟环境未注册到Jupyter | 执行 python -m ipykernel install --user --name drift_detection |
| alibi-detect 安装失败 | 依赖tensorflow版本冲突 | 先安装 pip install tensorflow==2.13.0,再安装alibi-detect |
| matplotlib 中文乱码 | 缺少中文字体 | 设置字体:plt.rcParams['font.sans-serif']=['SimHei'] |
🔧 环境验证小技巧: 将验证脚本保存为
check_env.py,后续每次新建项目时先运行一次,快速确认环境完整性。