实验记录
实验追踪模板
使用 MLflow 记录每次实验,以下为实验记录摘要。
实验列表
EXP-001: 基线模型(Logistic Regression)
| 项目 | 值 |
|---|---|
| 实验ID | EXP-001 |
| 日期 | 2024-05-10 |
| 模型 | LogisticRegression |
| 参数 | C=1.0, penalty=l2 |
| 特征数 | 25 |
| 训练集AUC | 0.72 |
| 验证集AUC | 0.70 |
| 备注 | 基线模型,简单特征 |
EXP-002: Random Forest(增加特征)
| 项目 | 值 |
|---|---|
| 实验ID | EXP-002 |
| 日期 | 2024-05-12 |
| 模型 | RandomForest |
| 参数 | n_estimators=100, max_depth=10 |
| 特征数 | 45 |
| 训练集AUC | 0.85 |
| 验证集AUC | 0.82 |
| 备注 | 增加衍生特征,效果提升明显 |
EXP-003: XGBoost(超参调优)
| 项目 | 值 |
|---|---|
| 实验ID | EXP-003 |
| 日期 | 2024-05-15 |
| 模型 | XGBoost |
| 参数 | n_estimators=200, max_depth=6, learning_rate=0.1 |
| 特征数 | 45 |
| 训练集AUC | 0.88 |
| 验证集AUC | 0.85 |
| 备注 | Optuna调参,达到目标 |
EXP-004: LightGBM(最终模型)
| 项目 | 值 |
|---|---|
| 实验ID | EXP-004 |
| 日期 | 2024-05-18 |
| 模型 | LightGBM |
| 参数 | n_estimators=300, max_depth=8, learning_rate=0.05 |
| 特征数 | 45 |
| 训练集AUC | 0.90 |
| 验证集AUC | 0.87 |
| 测试集AUC | 0.86 |
| 备注 | 最终模型,测试集达标 |
实验对比总结
| 实验 | 模型 | 验证集AUC | 测试集AUC |
|---|---|---|---|
| EXP-001 | LogisticRegression | 0.70 | - |
| EXP-002 | RandomForest | 0.82 | - |
| EXP-003 | XGBoost | 0.85 | - |
| EXP-004 | LightGBM | 0.87 | 0.86 |
最终选择:EXP-004 LightGBM
关键发现
- 特征工程效果显著:从25特征增加到45特征,AUC提升约0.15
- 衍生特征重要:engagement_score、churn_risk_proxy 进入Top5重要特征
- 模型选择:树模型明显优于线性模型
- 超参调优:Optuna自动调优效果优于手动调参
MLflow 使用命令
# 启动MLflow UI
mlflow ui --port 5000
# 记录实验
mlflow.start_run()
mlflow.log_param("model", "LightGBM")
mlflow.log_metric("auc", 0.86)
mlflow.log_artifact("models/final/model.pkl")
mlflow.end_run()