3. 项目环境搭建:Python环境配置、Jupyter Notebook设置与必备库安装
在开始构建信用评分Champion模型之前,必须搭建一个稳定、可复现的Python开发环境。本章将指导你完成从Python解释器安装到核心依赖库配置的全流程,确保后续所有建模、评估与可视化工作能够顺畅执行。
3.1 Python环境配置
推荐使用Python 3.8及以上版本(3.9或3.10为最佳选择),以保证对scikit-learn、XGBoost、LightGBM等库的完整兼容性。建议通过虚拟环境隔离项目依赖,避免与系统全局包冲突。
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 下载Python安装包 | 从 python.org 下载对应操作系统的安装程序 |
| 2 | 安装时勾选"Add Python to PATH" | 确保命令行可直接调用 python 和 pip |
| 3 | 验证安装 | 终端执行 python --version 确认版本号 |
| 4 | 创建虚拟环境 | python -m venv credit_score_env |
| 5 | 激活虚拟环境 | Windows: credit_score_env\Scripts\activate;macOS/Linux: source credit_score_env/bin/activate |
提示: 虚拟环境激活后,终端提示符前会显示环境名称(如
(credit_score_env)),所有后续安装的包都将隔离在该环境中,不会影响其他项目。
3.2 Jupyter Notebook设置
Jupyter Notebook是数据科学领域最常用的交互式开发工具,支持代码、可视化与文档的混合编排。在虚拟环境中安装并配置Jupyter,可以确保内核与项目依赖一致。
# 在激活的虚拟环境中安装Jupyter
pip install jupyter notebook
# 将虚拟环境注册为Jupyter内核
pip install ipykernel
python -m ipykernel install --user --name=credit_score_env --display-name="Credit Score (Python 3)"
# 启动Jupyter Notebook
jupyter notebook
启动后,浏览器将自动打开Jupyter仪表盘。新建Notebook时,请选择内核为 "Credit Score (Python 3)",确保所有已安装的库可用。
3.3 必备库安装与版本验证
信用评分建模涉及数据处理、机器学习建模、模型评估与可视化等多个环节。下表列出了核心依赖库及其用途:
| 库名称 | 版本建议 | 核心用途 |
|---|---|---|
| pandas | ≥ 1.3.0 | 数据加载、清洗、特征工程与聚合操作 |
| numpy | ≥ 1.21.0 | 数值计算、数组操作与随机数生成 |
| scikit-learn | ≥ 1.0.0 | 逻辑回归、数据划分、评估指标与管道构建 |
| xgboost | ≥ 1.5.0 | 梯度提升树模型,常用于信用评分基线 |
| lightgbm | ≥ 3.3.0 | 高效梯度提升框架,支持类别特征与快速训练 |
| matplotlib | ≥ 3.4.0 | 基础图表绘制,如ROC曲线、KS图 |
| seaborn | ≥ 0.11.0 | 高级统计可视化,美化分布图与热力图 |
# 一键安装所有必备库
pip install pandas numpy scikit-learn xgboost lightgbm matplotlib seaborn
# 验证安装版本(在Python或Jupyter中执行)
import pandas as pd
import numpy as np
import sklearn
import xgboost as xgb
import lightgbm as lgb
import matplotlib
import seaborn as sns
print(f"pandas: {pd.__version__}")
print(f"numpy: {np.__version__}")
print(f"scikit-learn: {sklearn.__version__}")
print(f"xgboost: {xgb.__version__}")
print(f"lightgbm: {lgb.__version__}")
print(f"matplotlib: {matplotlib.__version__}")
print(f"seaborn: {sns.__version__}")
注意: 如果安装过程中出现依赖冲突(例如scikit-learn与numpy版本不兼容),建议使用
pip install --upgrade pip 升级pip后再试,或通过 pip install <package>==<version> 指定兼容版本。
3.4 环境验证与项目结构
完成安装后,建议运行一个简短的测试脚本,确认所有库能够正常导入并执行基本运算。同时,建立清晰的项目目录结构有助于后续模型迭代与结果管理。
# 测试脚本:环境完整性检查
import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score
import xgboost as xgb
import lightgbm as lgb
import matplotlib.pyplot as plt
import seaborn as sns
# 生成模拟数据
np.random.seed(42)
X = np.random.randn(1000, 5)
y = (X[:, 0] + X[:, 1] - X[:, 2] + np.random.randn(1000) * 0.5) > 0
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 训练逻辑回归
lr = LogisticRegression()
lr.fit(X_train, y_train)
print(f"Logistic Regression AUC: {roc_auc_score(y_test, lr.predict_proba(X_test)[:, 1]):.4f}")
# 训练XGBoost
xgb_model = xgb.XGBClassifier(n_estimators=100, max_depth=3, random_state=42)
xgb_model.fit(X_train, y_train)
print(f"XGBoost AUC: {roc_auc_score(y_test, xgb_model.predict_proba(X_test)[:, 1]):.4f}")
# 训练LightGBM
lgb_model = lgb.LGBMClassifier(n_estimators=100, max_depth=3, random_state=42)
lgb_model.fit(X_train, y_train)
print(f"LightGBM AUC: {roc_auc_score(y_test, lgb_model.predict_proba(X_test)[:, 1]):.4f}")
print("\n环境验证通过!所有库工作正常。")
推荐的项目目录结构如下:
credit_score_champion/
├── data/ # 原始数据与处理后的数据
│ ├── raw/
│ └── processed/
├── notebooks/ # Jupyter Notebook文件
├── src/ # Python脚本模块
│ ├── data_preprocessing.py
│ ├── feature_engineering.py
│ ├── model_training.py
│ └── model_evaluation.py
├── models/ # 保存训练好的模型文件
├── reports/ # 评估报告与图表输出
│ └── figures/
├── config.py # 全局配置参数
└── requirements.txt # 依赖清单
最佳实践: 在项目根目录执行
pip freeze > requirements.txt 生成依赖清单,方便团队成员或部署环境一键复现:pip install -r requirements.txt。
3.5 环境搭建流程总览
下图展示了从Python安装到模型训练环境就绪的完整流程,帮助你快速定位当前所处阶段:
3.6 常见问题与避坑指南
- pip安装超时: 使用国内镜像源加速,如
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <package>。 - Jupyter内核列表为空: 确保在虚拟环境中执行
python -m ipykernel install,且未遗漏--name参数。 - XGBoost/LightGBM导入失败: Windows用户可能需要安装Microsoft Visual C++ Redistributable;macOS用户建议通过
brew install libomp安装OpenMP支持。 - matplotlib中文乱码: 在代码开头添加
plt.rcParams['font.sans-serif'] = ['SimHei']或['Arial Unicode MS'],并设置plt.rcParams['axes.unicode_minus'] = False。
完成以上步骤后,你的开发环境已完全就绪,可以无缝进入下一阶段的数据探索与特征工程工作。