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和大量预装库。安装步骤如下:

  1. 下载安装包:访问 Anaconda官网,选择对应操作系统的Python 3.11版本安装包。
  2. 安装过程:
    • Windows:双击安装包,勾选“Add Anaconda to my PATH environment variable”(建议勾选,方便命令行调用)。
    • macOS/Linux:使用bash命令安装,如 bash Anaconda3-2024.10-1-Linux-x86_64.sh。
  3. 验证安装:打开终端(或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 环境架构总览

下图展示了本课程所使用的技术栈层次关系:

贷后预警特征漂移检测环境架构图 贷后预警特征漂移检测 — 环境架构总览 操作系统 (Windows / macOS / Linux) Python 3.11 + Anaconda 虚拟环境 (drift_detection) pandas / numpy scipy / sklearn alibi-detect evidently Jupyter Notebook (交互式开发) 贷后预警特征漂移检测实战 说明:alibi-detect 和 evidently 是漂移检测专用库,pandas/numpy/scipy/sklearn 提供基础数据与建模能力

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 # 在新环境中一键安装