2. 环境准备:Python环境搭建与核心库安装
在开始构建LightGBM评分卡及PSI漂移告警系统之前,需要搭建一个稳定、可复现的Python开发环境。本节将指导你完成从Python解释器安装到核心机器学习库配置的全过程,确保所有依赖版本兼容,避免后续开发中的环境冲突。
2.1 Python版本选择与虚拟环境
推荐使用Python 3.8 ~ 3.11版本。LightGBM对Python 3.12的官方支持尚在完善中,为避免兼容性问题,建议选择经过广泛验证的3.9或3.10版本。
💡 环境隔离最佳实践: 使用虚拟环境(venv或conda)隔离项目依赖,避免不同项目间的包版本冲突。每个评分卡项目应拥有独立的虚拟环境。
创建虚拟环境(以venv为例)
# 创建项目目录
mkdir lightgbm_scorecard_psi
cd lightgbm_scorecard_psi
# 创建虚拟环境
python -m venv .venv
# 激活虚拟环境(Windows)
.venv\Scripts\activate
# 激活虚拟环境(macOS/Linux)
source .venv/bin/activate
2.2 核心库安装清单
下表列出了本课程所需的核心库及其在评分卡与PSI监控中的主要用途:
| 库名称 | 版本建议 | 核心用途 |
|---|---|---|
| lightgbm | ≥ 4.0.0 | 梯度提升树模型训练,评分卡分数映射 |
| pandas | ≥ 2.0.0 | 数据加载、清洗、特征工程、PSI计算 |
| numpy | ≥ 1.24.0 | 数值计算、数组操作、统计函数 |
| scikit-learn | ≥ 1.3.0 | 数据切分、评估指标、分箱工具 |
| matplotlib | ≥ 3.7.0 | PSI趋势图、分数分布可视化 |
| seaborn | ≥ 0.12.0 | 统计图表美化,分布对比图 |
| joblib | ≥ 1.3.0 | 模型持久化保存与加载 |
2.3 一键安装命令
激活虚拟环境后,执行以下命令批量安装所有依赖:
pip install lightgbm pandas numpy scikit-learn matplotlib seaborn joblib
⚠️ 版本锁定建议: 生产环境中建议使用
pip freeze > requirements.txt 锁定精确版本号,确保每次部署环境一致。本课程示例代码在 lightgbm==4.5.0、pandas==2.2.0 环境下测试通过。
2.4 安装验证脚本
运行以下Python脚本,验证所有库是否安装成功且版本符合要求:
import sys
import lightgbm as lgb
import pandas as pd
import numpy as np
import sklearn
import matplotlib
import seaborn as sns
import joblib
print(f"Python版本: {sys.version}")
print(f"LightGBM版本: {lgb.__version__}")
print(f"Pandas版本: {pd.__version__}")
print(f"NumPy版本: {np.__version__}")
print(f"Scikit-learn版本: {sklearn.__version__}")
print(f"Matplotlib版本: {matplotlib.__version__}")
print(f"Seaborn版本: {sns.__version__}")
print(f"Joblib版本: {joblib.__version__}")
print("\n✅ 所有核心库安装成功!")
2.5 环境依赖关系架构
下图展示了本课程中各个库之间的依赖关系与数据流向:
2.6 常见安装问题与解决方案
- LightGBM安装失败(Windows): 缺少Microsoft Visual C++运行时库。下载安装“Microsoft Visual C++ Redistributable for Visual Studio 2015-2022”即可解决。
- pip安装速度慢: 使用国内镜像源加速,例如
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lightgbm。 - 版本冲突: 如果已安装旧版本,使用
pip install --upgrade 包名升级到指定版本。 - macOS M1/M2芯片: LightGBM已原生支持ARM架构,直接使用pip安装即可,无需额外配置。
✅ 环境就绪检查清单:
- Python 3.9+ 已安装,虚拟环境已激活
- 所有核心库通过pip安装成功
- 验证脚本运行无报错,版本号符合要求
- LightGBM可正常导入并执行简单训练测试