📅 截止日期:11月30日 | 🏆 查看实时排行榜
核心目标:基于网络流量特征,从零实现并优化 XGBoost 算法,完成入侵检测二分类任务(正常流量 vs 攻击流量)。
- 算法实现:从零实现梯度提升 (Gradient Boosting) 算法逻辑。
- 精度达标:模型 ROC-AUC 必须达到 0.98 以上。
- 工程优化:在保证高精度的前提下,通过并行化、算法剪枝等手段极致优化 训练与推理速度。
- 必须通过「水杉平台」提交,未在该平台提交或提交超时视为无效
- 水杉平台每人只能使用12小时
| 文件名 | 说明 |
|---|---|
model.py |
当前仅包含一个简单的逻辑回归模型 (Baseline)。你需要在此处重写代码。 |
solution.py |
包含 fit (训练) 和 forward (推理) 接口,负责数据预处理和模型调用。 |
evaluate_local.py |
非提交程序,仅用于展示评测框架内部逻辑。 |
evaluate_linux |
计算 ROC-AUC 和 Latency,并将结果提交至服务器。 |
*.csv |
train.csv (训练数据),test_local.csv(本地测试) _和 encrypt_test.csv (加密测试数据)。 |
- ✨ 实现 XGBoost 模型
- 修改
model.py,用 XGBoost (eXtreme Gradient Boosting) 算法替换现有的逻辑回归。
- 修改
- ✨ 适配 Solution 接口
- 修改
solution.py,确保fit和forward能正确驱动你的 XGBoost 模型。
- 修改
- ✨ 性能调优 (关键)
- 确保 ROC-AUC ≥ 0.98。
- 应用并行计算、直方图优化等技巧,缩短训练和推理时间以获取高分。
- ✨ 提交与冲榜
- 运行
evaluate-linux进行测试和自动提交。
- 运行
本次作业总分为 20 分。评分核心逻辑是:在满足精度门槛 (AUC ≥ 0.98) 的前提下,根据运行效率 (Latency) 动态定分。
为了综合考量算法的训练效率与线上推理能力,Latency 定义为训练时间和测试时间的几何平均数(越低越好):
- Training Time:
fit()函数的完整运行时间。 - Testing Time: 完成所有测试样本
forward()推理的总时间。
我们将统计所有 达标 (AUC≥0.98) 提交的 Latency,计算出 前10%分位数 (P10) 作为满分基准线。
| 场景 | 条件说明 | 最终得分 |
|---|---|---|
| 1 | ROC-AUC < 0.98 | 6 分 |
| 2 | AUC ≥ 0.98 且 Latency ≤ P10 | 20 分 |
| 3 | AUC ≥ 0.98 且 P10 < Latency ≤ 4×P10 | 6 ~ 20 分 |
| 4 | AUC ≥ 0.98 且 Latency > 4×P10 | 6 分 |
当你的速度处于 2 区间 (
💡 策略提示:
- 精度第一:若 AUC 不达标,无论多快都只有 6 分。
- 速度决胜:一旦 AUC 达标,分数完全取决于 Latency。若速度慢于基准线的 4 倍,即便精度很高也只能拿 6 分。
推荐使用 Conda 管理环境:
conda create -n ML python=3.8
conda activate ML在运行代码前,请根据你的系统设置个人身份信息。
🐧 Linux/macOS:
export STUDENT_ID='你的学号'
export STUDENT_NAME='你的姓名'
export STUDENT_NICKNAME='你的昵称'
export MAIN_CONTRIBUTOR='AI' 🪟 Windows PowerShell:
$env:STUDENT_ID="你的学号"
$env:STUDENT_NAME="你的姓名"
$env:STUDENT_NICKNAME="你的昵称"
$env:MAIN_CONTRIBUTOR="human"本次作业仅在水杉平台提交
chmod +x evaluate-linux
./evaluate-linux✅ 成功运行示例:
Training...
Training completed in 5.23s
Testing...
==================================================
Training Time: 5.23s
Testing Time: 0.45s
Latency: 1.53s <-- 计算方式:sqrt(5.23 * 0.45)
ROC-AUC: 0.9850 <-- 必须 >= 0.98
==================================================
Submitting to leaderboard...
Submission successful!
请在截止日期前提交你的最佳优化版本!
Made with ❤️ for Machine Learning Education