Data Mining PJ

Code for kaggle competition: https://www.kaggle.com/c/dota-2-prediction

First Version -- 0.614

我们将所有的columns作为features,作为一个二分类任务送给XGBoost进行分类。

Second Version -- 0.721

(+4%) 我们将输出的submission的二分类0/1输出,变为概率输出。

(+6%) 为了让英雄的使用情况体现在Feature中,我们将双方的10个英雄展开到 10 * 112 (英雄个数) * 7 (英雄feature) 维度上。

(+1%) 我们把交换双方后的数据也加入训练集中,使得训练数据翻倍。

Third Version -- 0.723

(+0.2%) 对比赛中的每个角色使用的英雄添加onehot的roles特征

Forth Version -- 0.725

(+0.2%) 使用3-9个相同的第三版的模型进行集成学习,结果逐渐接近0.725。

比赛结果

最终提交了使用9个相同的模型进行预测的代码。比赛过程中可见的 Public Score 为 0.72499; 最终结果的 Private Score 为 0.72380,排名第三。

运行代码

在 code 文件夹下运行 pip install -r requirements 安装依赖包; 运行 python work.py 加参数运行代码。

# 运行 First Version 的基线程序
python work.py -b

# 运行 Second Version 的程序
python work.py -s

# 运行 Third Version 和 Forth Version 的程序(N 为集成模型的数量,不写默认为1)
python work.py -a (N)