序言

笔者参加百度吃鸡排名预测挑战赛位列第六名,现将方案给出,欢迎批评指正,如有想上车参赛的同学请私信联系,另外提供代码和模型预测文件。

比赛介绍

《绝地求生》(PUBG) 是一款战术竞技型射击类沙盒游戏。在游戏中,玩家需要在游戏地图上收集各种资源,并在不断缩小的安全区域内对抗其他玩家,让自己生存到最后。当选手在本局游戏中取得第一名后,会有一段台词出现:“大吉大利,晚上吃鸡!”。

该比赛提供了PUBG游戏数据中玩家的行为数据,希望参赛选手能够构建模型对玩家每局最终排名进行预测。

赛题数据

赛题训练集案例如下:

  • 训练集5万数据,共150w行
  • 测试集共5000条数据,共50w行

赛题数据文件总大小150MB,数据均为csv格式,列使用逗号分割。
测试集中label字段team_placement为空,需要选手预测。完整的数据字段含义如下:

  • match_id:本局游戏的id
  • team_id:本局游戏中队伍id,表示在每局游戏中队伍信息
  • game_size:本局队伍数量
  • party_size:本局游戏中队伍人数
  • player_assists:玩家助攻数
  • player_dbno:玩家击倒数
  • player_dist_ride:玩家车辆行驶距离
  • player_dist_walk:玩家不幸距离
  • player_dmg:输出伤害值
  • player_kills:玩家击杀数
  • player_name:玩家名称,在训练集和测试集中全局唯一
  • kill_distance_x_min:击杀另一位选手时最小的x坐标间隔
  • kill_distance_x_max:击杀另一位选手时最大的x坐标间隔
  • kill_distance_y_min:击杀另一位选手时最小的y坐标间隔
  • kill_distance_y_max:击杀另一位选手时最大的x坐标间隔
  • team_placement:队伍排名

方案解读

PyCaret是一个代码量超低的机器学习库,它有效的自动化了机器学习工作流。实现了端到端的机器学习和模型管理工具,可以成倍地加快机器学习的学习、部署和实践速度,本人使用PyCaret进行完成赛题。

由于本次任务是较为复杂的回归问题,首先选定使用XGBoost作为模型进行测试,后续我又尝试了多种模型包括Deep VM ANN CNN等,并进行了参数优化。

PyCaret的回归模块是一个有监督的机器学习模块,用于估计因变量(通常称为 "结果变量",或 "目标")和一个或多个自变量(通常称为 "特征","预测因素",或 "协变量")之间的关系。回归的目的是预测连续值,如预测销售金额、预测数量、预测温度等。它提供了几个预处理功能,通过设置功能为建模准备数据。这个模块包含了超过25个随时可用的算法和多个图来分析训练模型的性能。

这个函数初始化训练环境并创建转换管道。设置函数必须在执行任何其他函数之前调用。它需要两个强制性参数:数据和目标。所有其他的参数都是可选的。

from pycaret.datasets import get_data
data = get_data('insurance')

from pycaret.regression import *
s = setup(data, target = 'charges')

当设置被执行时,PyCaret的推理算法将根据某些属性自动推断出所有特征的数据类型。数据类型应该被正确推断出来,但情况并非总是如此。为了处理这个问题,PyCaret会显示一个提示,要求确认数据类型,一旦你执行设置。如果所有的数据类型都是正确的,你可以按回车键,或者键入退出退出设置。

另外,你也可以在设置中使用 numeric_features 和 categorical_features 参数来预先定义数据类型。

比较模型

这个函数使用交叉验证法对模型库中所有可用的估计器的性能进行训练和评估。这个函数的输出是一个带有交叉验证平均分数的评分网格。可以使用get_metrics函数访问CV期间评估的指标。可以使用add_metric和remove_metric函数添加或删除自定义指标。

best = compare_models()

print(best)

分析模型

这个函数分析训练过的模型在测试集上的表现。在某些情况下,它可能需要重新训练模型。

evaluate_model(best)

evaluate_model 只能在笔记本中使用,因为它使用了 ipywidget 。你也可以使用 plot_model 函数来单独生成图。

plot_model(best, plot = 'residuals')

plot_model(best, plot = 'feature')

预测

该函数使用训练好的模型预测Label。当数据为零时,它在测试集(在设置函数中创建)上预测标签和分数。

predict_model(best)

评估指标是在测试集上计算的。第二个输出是pd.DataFrame,包括对测试集的预测(见最后两列)。要在未见过的(新)数据集上生成标签,只需在predict_model函数中传递数据集。

predictions = predict_model(best, data=data)
predictions.head()

保存模型

save_model(best, 'my_best_pipeline')

重载模型

loaded_model = load_model('my_best_pipeline')
print(loaded_model)

结语

本文主要简略介绍个人参赛至今为止的进展和经验,想上车的小伙伴请私信联系,后续将继续更新进展和尝试更多模型参数,另外提供代码和模型预测文件。

百度吃鸡排名预测挑战赛第六名方案(基于PyCaret)相关推荐

  1. 吃鸡排名预测挑战赛 空气质量预测 英雄联盟大师预测 手机行为识别 员工离职预测 猫十二分类体验赛

    1.吃鸡排名预测挑战赛 https://aistudio.baidu.com/aistudio/competition/detail/155/0/introduction 2.空气质量预测https: ...

  2. PUBG 吃鸡排名预测

    对于一般机器学习来说,总体的流程其实分为三个大的步骤: 1. 数据清洗 2. 模型构建 3. 模型评估 其中,第二步和部分第三步都是靠套路进行解决的,所需要修改的部分只是一些调参,可以使用gridCV ...

  3. 侄儿子非要抢我手机玩吃鸡!但他才六岁菜的很。我花五分钟写了个游戏,他玩了一天。

    导语 前两天不是中秋节吗,放了几天假,所以我就回家过节去了,也是没时间给大家更新,回家亲戚朋友多嘛,所以我侄儿子看到我在和别人玩和平精英,他也要玩,我以为他会,结果连东西都不会搜,就知道让我找飞机给他 ...

  4. 天池“英特尔创新大师杯”深度学习挑战赛 第15名方案【自然语言处理方向】

    序言 笔者参加"英特尔创新大师杯"深度学习挑战赛目前位列第15名,先将方案给出,欢迎批评指正,如有想上车参赛的同学请私信联系,另外提供代码和模型预测文件. 比赛介绍 大赛背景 人类 ...

  5. 钢铁缺陷检测挑战赛-第1名方案

    0.引言 作为一个新人练习赛,这个比赛可以非常好的帮助大家熟悉使用Paddle.在这里我使用PaddleDetection套件中的网络进行训练,本项目将带大家对PaddleDetection套件使用有 ...

  6. 用amd组装高档游戏型计算机,高配吃鸡真带劲!高端最新只选AMD游戏主机

    高配吃鸡真带劲!高端最新只选AMD游戏主机 <绝地求生>这款游戏发布至今已经有两三年的时间了,虽说热度大不如前,但依旧有很多玩家投入其中,更有甚者每天不玩上几把吃鸡都睡不着觉.可是这个游戏 ...

  7. codeblock 带mingw的版本_云顶之弈10.22新版本最强阵容排名 10.22版本吃鸡阵容推荐...

    云顶之弈版本还是很不错的,那么到底什么阵容吃鸡容易呢?希望下面这篇云顶之弈新版本最强阵容排名能帮到大家. 云顶之弈新版本最强阵容排名 御剑仙,版本t0,但是强度真的不高,很容易被针对.很怕夜幽和月神刺 ...

  8. 携程否认竞价排名;戴尔为“吃鸡外挂”致歉;腾讯将发区块链游戏 | CSDN极客头条

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 「CSDN 极客头条」是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报 ...

  9. 用机器学习预测,手持98k化身吃鸡大师

    编译组:黄琎.温媛 本文经授权转自公众号 读芯术 近日,<绝地求生>(PUBG)MET亚洲邀请赛中国两个赛区的7支战队战队全部退赛的消息惊呆全网. 原因很简单: "有人作弊了,官 ...

最新文章

  1. 微服务之旅:从 Netflix OSS 到 Istio Service Mesh
  2. mysql only_full_group_by报错的问题(转)
  3. 了解员工工作的四种方法
  4. 广东人大常委会党组会议强调:要加快人工智能等领域的相关立法工作。【Python】
  5. 华东云友会主播栏目01期 阿里云X海底捞,千人千锅就是如此任性!
  6. mysql5.6+master+date_MySQL5.6的4个自带库详解
  7. perl java远程调用函数调用_如何从Java调用Perl?
  8. vc++中ListBox用法
  9. 触发器使用教程和命名规范
  10. 3S基础知识:MapX应用教程—查询
  11. postman安装后闪退
  12. adb之am、pm命令
  13. 思科实验-生成树协议STP
  14. 智能座舱人机交互发展趋势
  15. uniapp中H5网页和打包app分别生成二维码
  16. C++词法记号规则之标识符 关键字 操作符 分隔符 空白符
  17. 国家自然科学基金 结题项目 查询网站
  18. 天不怕,地不怕,就怕李佳琦的“OMG,太好看了吧!”
  19. c语言输入函数 scanf 详解 - 解决常见输入问题
  20. 全志h2参数_全志H2怎么样 H2芯片参数介绍

热门文章

  1. 华为蓝牙耳机推荐哪款好?佩戴舒适的无线耳机推荐
  2. 局域网内尝试封锁QQ直播
  3. 装修的本身并不重要,重要的是找到对的装修公司
  4. 百花潭边四十载 - 记我的父亲陈武元
  5. NoVNC—以Web方式交付VNC远程连接
  6. 如何从Zbrush里面抓MatCap Material做成Texuture,好做lit sphere shading
  7. 使用chatgpt实现微信聊天小程序(秒回复),github开源(附带链接)
  8. 初学HTML5--盒子模型,5.1 盒子模型 - Adobe Dreamweaver CC零基础入门教程 - 平面设计学院 - 勤学网...
  9. iphone录制脚本_应用程序是否真的在录制您的iPhone屏幕?
  10. 开通微信公众号流程所需资料及时间