2. 环境搭建:Python版本选择、Anaconda安装、Jupyter Notebook配置、核心库安装
在开始贷后预警特征漂移检测之前,需要搭建一个稳定、可复现的Python数据科学环境。本章将指导你完成从Python版本选择到核心库安装的全流程,确保后续所有实验代码能够顺利运行。
2.1 Python版本选择
Python版本众多,但并非所有版本都适合数据科学和风控建模。推荐使用Python 3.9 ~ 3.11版本,原因如下:
- 兼容性:alibi-detect 0.11+ 和 evidently 0.4+ 对Python 3.9-3.11支持最佳。
- 性能:Python 3.11相比3.8有约10-60%的性能提升,对大规模特征计算更友好。
- 生态:scikit-learn 1.3+、pandas 2.0+ 均已放弃对Python 3.7的支持。
版本选择建议:如果你是新搭建环境,直接选择 Python 3.11;如果已有项目依赖Python 3.8,建议升级至3.9以上,避免后续库版本冲突。
2.2 Anaconda安装与配置
Anaconda是目前数据科学领域最流行的Python发行版,内置了conda包管理器、Jupyter Notebook和大量预装库。安装步骤如下:
- 下载安装包:访问 Anaconda官网,选择对应操作系统的Python 3.11版本安装包。
- 安装过程:
- Windows:双击安装包,勾选“Add Anaconda to my PATH environment variable”(建议勾选,方便命令行调用)。
- macOS/Linux:使用bash命令安装,如
bash Anaconda3-2024.10-1-Linux-x86_64.sh。
- 验证安装:打开终端(或Anaconda Prompt),输入以下命令验证:
conda --version
python --version
如果显示conda版本号和Python 3.11.x,说明安装成功。
2.3 创建独立虚拟环境
为了避免不同项目之间的库冲突,强烈建议为本课程创建一个独立的虚拟环境:
conda create -n drift_detection python=3.11 -y
conda activate drift_detection
环境名称 drift_detection 可以自定义,后续所有库安装和代码运行都在此环境中进行。
2.4 Jupyter Notebook配置
Jupyter Notebook是交互式数据分析和模型开发的利器。安装并配置内核:
conda install jupyter notebook ipykernel -y
python -m ipykernel install --user --name drift_detection --display-name "Python (drift_detection)"
启动Jupyter Notebook:
jupyter notebook
在浏览器中打开后,新建Notebook时选择内核 Python (drift_detection),即可使用刚创建的环境。
配置要点:每次打开新Notebook时,务必检查右上角内核名称是否为
drift_detection,避免误用base环境导致库缺失。
2.5 核心库安装
本课程涉及的核心库分为三类:基础数据处理、机器学习建模、漂移检测专用库。使用pip统一安装:
pip install pandas numpy scipy scikit-learn alibi-detect evidently
各库版本要求及用途如下表所示:
| 库名 | 推荐版本 | 核心用途 | 安装命令 |
|---|---|---|---|
| pandas | ≥2.0.0 | 数据读取、清洗、特征工程、时间序列处理 | pip install pandas |
| numpy | ≥1.24.0 | 数值计算、数组操作、统计函数 | pip install numpy |
| scipy | ≥1.10.0 | 统计检验(KS检验、卡方检验)、距离计算 | pip install scipy |
| scikit-learn | ≥1.3.0 | 模型训练、特征重要性、数据预处理 | pip install scikit-learn |
| alibi-detect | ≥0.11.0 | 数据漂移检测(KS、MMD、CVM)、对抗验证 | pip install alibi-detect |
| evidently | ≥0.4.0 | 特征漂移报告、数据质量监控、可视化仪表盘 | pip install evidently |
常见安装问题:如果安装alibi-detect或evidently时出现依赖冲突,建议先升级pip:
pip install --upgrade pip,然后使用 pip install --no-deps 逐个安装,最后手动补全缺失依赖。
2.6 环境验证脚本
安装完成后,运行以下Python脚本验证所有库是否可用:
import pandas as pd
import numpy as np
import scipy.stats as stats
import sklearn
import alibi_detect
import evidently
print("pandas version:", pd.__version__)
print("numpy version:", np.__version__)
print("scipy version:", scipy.__version__)
print("scikit-learn version:", sklearn.__version__)
print("alibi-detect version:", alibi_detect.__version__)
print("evidently version:", evidently.__version__)
print("✅ 所有核心库安装成功!")
如果所有版本号正常输出,说明环境搭建完成。
2.7 环境架构总览
下图展示了本课程所使用的技术栈层次关系:
2.8 常见问题与解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
ImportError: No module named 'alibi_detect' |
未在正确的虚拟环境中安装 | 执行 conda activate drift_detection 后重新安装 |
pip install 速度慢或超时 |
默认源在国外 | 使用国内镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名 |
| Jupyter Notebook 内核列表为空 | 未注册内核 | 执行 python -m ipykernel install --user --name drift_detection |
| evidently 版本冲突 | 依赖的pandas版本过低 | 升级pandas:pip install --upgrade pandas |
最佳实践:建议将上述安装命令保存为一个
setup.sh 或 requirements.txt 文件,方便后续在其他机器上快速复现环境。例如:pip freeze > requirements.txt # 导出当前环境所有库版本pip install -r requirements.txt # 在新环境中一键安装