2. Python 环境与依赖库安装
在构建授信决策引擎的模型训练流程之前,必须搭建一个稳定、可复现的 Python 数据科学环境。本章将指导你完成 Anaconda 发行版的安装与配置,并通过 pip 安装核心依赖库,包括数据处理、机器学习建模、梯度提升框架以及样本不平衡处理工具。
2.1 Anaconda 环境配置
Anaconda 是一个开源的 Python 发行版,内置了 conda 包管理器与虚拟环境功能,能够有效隔离不同项目的依赖冲突。推荐使用 Anaconda 作为基础环境,再为授信决策引擎项目创建独立的虚拟环境。
2.1.1 安装 Anaconda
- 访问 Anaconda 官方下载页面,选择对应操作系统的 Python 3.9+ 版本安装包。
- 运行安装程序,建议勾选“Add Anaconda to my PATH environment variable”(Windows)或使用默认路径(macOS/Linux)。
- 安装完成后,打开终端(或 Anaconda Prompt),验证安装:
conda --version
# 输出示例:conda 23.7.4
2.1.2 创建授信决策引擎专用虚拟环境
为项目创建独立环境,避免与系统 Python 或其他项目产生库版本冲突。
conda create -n credit_risk python=3.10 -y
conda activate credit_risk
激活后,终端提示符前会显示 (credit_risk),表示已进入该虚拟环境。
环境管理建议: 使用
conda list 查看当前环境已安装的包;使用 conda deactivate 退出环境。建议为每个授信模型项目创建独立环境,便于版本回溯与团队协作。
2.2 核心依赖库安装
授信决策引擎的模型训练依赖以下核心库:数据处理、机器学习建模、梯度提升树、样本不平衡处理。所有库均通过 pip 在虚拟环境中安装。
2.2.1 库功能概览
| 库名 | 版本建议 | 核心用途 |
|---|---|---|
| pandas | ≥1.5 | 数据读取、清洗、特征工程、时间序列处理 |
| numpy | ≥1.24 | 数值计算、矩阵运算、随机数生成 |
| scikit-learn | ≥1.2 | 分类/回归模型、特征选择、交叉验证、评估指标 |
| xgboost | ≥1.7 | 梯度提升树、处理缺失值、内置交叉验证 |
| lightgbm | ≥3.3 | 高效梯度提升、Leaf-wise 生长、类别特征原生支持 |
| imbalanced-learn | ≥0.10 | SMOTE、ADASYN 等过采样/欠采样方法 |
2.2.2 批量安装命令
在激活的 credit_risk 环境中,执行以下命令一次性安装所有核心库:
pip install pandas numpy scikit-learn xgboost lightgbm imbalanced-learn
安装完成后,可通过以下脚本验证各库是否可正常导入:
import pandas as pd
import numpy as np
import sklearn
import xgboost as xgb
import lightgbm as lgb
import imblearn
print("pandas version:", pd.__version__)
print("numpy version:", np.__version__)
print("scikit-learn version:", sklearn.__version__)
print("xgboost version:", xgb.__version__)
print("lightgbm version:", lgb.__version__)
print("imbalanced-learn version:", imblearn.__version__)
版本兼容性提示: 若安装过程中出现依赖冲突,建议使用
pip install --upgrade pip 升级 pip 后再试。对于 Windows 用户,xgboost 和 lightgbm 的预编译 wheel 通常可直接安装;若遇到编译错误,可尝试从 conda-forge 安装:conda install -c conda-forge xgboost lightgbm。
2.3 环境与依赖关系架构
下图展示了授信决策引擎模型训练环境的整体架构,从底层操作系统到上层模型训练库的依赖关系:
2.4 常见安装问题与解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
pip install 速度极慢或超时 |
默认连接 PyPI 官方源,网络不稳定 | 使用国内镜像源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名 |
| xgboost / lightgbm 安装失败(Windows) | 缺少 Microsoft Visual C++ 运行时 | 安装 VC++ Redistributable 或使用 conda 安装:conda install -c conda-forge xgboost lightgbm |
| 导入 imbalanced-learn 报错 | scikit-learn 版本不兼容 | 升级 scikit-learn:pip install --upgrade scikit-learn |
| 虚拟环境激活后仍调用系统 Python | PATH 环境变量顺序问题 | 使用 which python(Linux/macOS)或 where python(Windows)检查路径,确保虚拟环境 bin/Scripts 目录优先 |
2.5 环境验证与快速测试
安装完成后,建议运行一个简短的端到端测试脚本,验证所有库能否协同工作:
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score
from imblearn.over_sampling import SMOTE
import xgboost as xgb
import lightgbm as lgb
# 生成模拟授信数据
np.random.seed(42)
n_samples = 1000
X = pd.DataFrame({
'age': np.random.randint(22, 60, n_samples),
'income': np.random.normal(50000, 15000, n_samples),
'credit_history': np.random.randint(0, 10, n_samples)
})
y = (X['credit_history'] > 5).astype(int)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# SMOTE 过采样
smote = SMOTE(random_state=42)
X_res, y_res = smote.fit_resample(X_train, y_train)
# XGBoost 训练
model_xgb = xgb.XGBClassifier(n_estimators=50, max_depth=3, random_state=42)
model_xgb.fit(X_res, y_res)
pred_xgb = model_xgb.predict_proba(X_test)[:, 1]
print(f"XGBoost AUC: {roc_auc_score(y_test, pred_xgb):.4f}")
# LightGBM 训练
model_lgb = lgb.LGBMClassifier(n_estimators=50, max_depth=3, random_state=42)
model_lgb.fit(X_res, y_res)
pred_lgb = model_lgb.predict_proba(X_test)[:, 1]
print(f"LightGBM AUC: {roc_auc_score(y_test, pred_lgb):.4f}")
print("环境验证通过!所有核心库工作正常。")
注意: 上述测试脚本仅用于验证环境安装是否成功,并非授信决策引擎的正式训练流程。实际建模中需要更严格的特征工程、交叉验证与模型调参。请确保在虚拟环境
credit_risk 中运行此脚本,避免与全局环境混淆。
2.6 依赖库版本锁定
为确保项目可复现,建议在完成安装后导出当前环境的依赖清单:
pip freeze > requirements.txt
生成的 requirements.txt 文件记录了所有库的精确版本号,团队成员或部署环境可通过以下命令一键重建相同环境:
pip install -r requirements.txt
至此,授信决策引擎的 Python 环境与核心依赖库已全部安装就绪,可以进入下一阶段的特征工程与模型训练工作。