2. Python 环境与依赖库安装

在构建授信决策引擎的模型训练流程之前,必须搭建一个稳定、可复现的 Python 数据科学环境。本章将指导你完成 Anaconda 发行版的安装与配置,并通过 pip 安装核心依赖库,包括数据处理、机器学习建模、梯度提升框架以及样本不平衡处理工具。

2.1 Anaconda 环境配置

Anaconda 是一个开源的 Python 发行版,内置了 conda 包管理器与虚拟环境功能,能够有效隔离不同项目的依赖冲突。推荐使用 Anaconda 作为基础环境,再为授信决策引擎项目创建独立的虚拟环境。

2.1.1 安装 Anaconda

  1. 访问 Anaconda 官方下载页面,选择对应操作系统的 Python 3.9+ 版本安装包。
  2. 运行安装程序,建议勾选“Add Anaconda to my PATH environment variable”(Windows)或使用默认路径(macOS/Linux)。
  3. 安装完成后,打开终端(或 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 环境与依赖关系架构

下图展示了授信决策引擎模型训练环境的整体架构,从底层操作系统到上层模型训练库的依赖关系:

授信决策引擎 Python 环境架构 操作系统层(Windows / macOS / Linux) Python 3.10 解释器(credit_risk 虚拟环境) numpy(数值计算) pandas(数据处理) scikit-learn xgboost lightgbm imbalanced-learn(SMOTE / ADASYN)

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 环境与核心依赖库已全部安装就绪,可以进入下一阶段的特征工程与模型训练工作。