【绝地求生】—— AI挖掘百万‘鸡王’的游戏数据,让你把把吃鸡

        绝地求生这个电子竞技游戏已经风靡全球。此款游戏有超过5000万份出售,是第五个最畅销的游戏,并有数百万活跃的月度玩家。100名玩家被空手扔到一个岛上,随着游戏区不断缩小,玩家必须探索,清除,并消灭其他玩家,直到只有一个人或一个队活到最后,这就是玩家经常说的“吃鸡了”。不过你知道‘鸡王’获胜的最佳策略是什么吗?你应该躲在一个地方等待胜利,还是需要成为最棒的射手呢?让我们来看看数据吧!(最佳策略在文章结尾有总结,一定要看!)

       我们收集了650万匿名玩家的游戏数据,运用最热的机器学习算法Lightgbm,尝试挖掘哪些吃鸡高手的常胜秘诀,下面是数据分析过程,希望可以提高你的游戏胜率,加油!

一、数据详细:

DBNOs ——击倒敌方人数                               Assists——助攻数                             

Boosts ——使用其他工具数                            damageDealt——全部伤害处理       

headshotKills——爆头数                                 heals——治疗次数

killPlace ——总击杀数排名                              killStreaks ——单位时间的杀死数量   

kills——击毙敌方人数                                      longestKill——死亡时玩家和玩家之间的最长距离       

revives ——复活队友的次数                            rideDistance——车辆行驶的总距离                             

roadKills——在车辆中杀死的次数                   teamKills ——杀死队友的次数                                   

vehicleDestroys ——车辆被毁数                     weaponsAcquired——拿起武器数量                       

Win Posits——基于Win的玩家外部排名          numGroups——我们在比赛中有数据的组数               

maxPlace——玩家常出现的位置                     winPlacePerc——预测的目标,玩家的单局排名(百分比)

二、代码详细(精简版)

1、导入和查看数据

2、绘制特征相关性系数下三角矩阵图,颜色越明显,则特征之间的相关关系越强。

3、EDA(数据探索分析)

1)击杀情况分析

击杀人数与玩家人数成反比;有相当一部分玩家没有完成一次击杀,那么这些人有打出伤害吗?

答案是,无击杀数的大部分玩家没有伤害输出。

绘制的击杀数与单局游戏排名关系的箱线图。可以看到击杀数与排名成正比。

2)行进距离情况分析

平均每人走1055.1米,99%的人走4138.0米或更少,其中行走最长距离为17300.0米。

3)摧毁车辆数情况分析

摧毁车辆有助你取得比赛胜利哦。

4)使用治疗用品和使用其他道具(炸弹等)情况

使用治疗用品和使用其他道具(炸弹等)都有助于玩家取得胜利,其他道具帮助会更大。

5)单排、双排、团队情况(注意击倒敌方数、助攻、治疗三个特征只有双排和团队赛中才有。)

击杀人数对单排、双排的影响更大一些,当打团队赛的时候就相对没那么重要了。

6)其他特征情况

可以看到,玩家排名与玩家的击杀数、击倒数、助攻数以及使用手雷等其他装备数均近似成正比关系。

4、特征组合

我们把玩家在游戏中步行、驾驶车辆、游泳的距离合并为总的行进距离;把爆头和在车上的击杀统一为技巧型的击杀。

5、特征选择

我们使用scikit-learn内置的特征交叉选择.RFECV类,用交叉验证进行递归特征消除。RFECV类是通过使用所有特征来训练模型并使用交叉验证来评分的。然后使用logit系数来消除最不重要的特征,并训练和评分一个新的模型。最后选择得分最高的一组特征。目标变量为winPlacePerc,是玩家的胜率

6、模型训练

作为近年来kaggle的大杀器,LightGBM以其极低的内存消耗和远超xgboost的运算速度得到了越来越多的关注。

LightGBM 是一个梯度 boosting 框架,使用基于学习算法的决策树。它可以说是分布式的,高效的,有以下优势:

  • 更快的训练效率

  • 低内存使用

  • 更高的准确率

  • 支持并行化学习

  • 可处理大规模数据

与常用的机器学习算法进行比较:速度飞起

7、模型中特征重要性排序

8、小结

       通过模型的训练和特征重要性排序,我们看到,影响玩家胜率的直观因素就是总击杀人数的排名、行进距离、单局击杀数、玩家最常出现的位置。这说明想要有一个不错的名次,还是需要多多练习,增强自己的杀伤力,同时最好找一个自己习惯的跳伞位置也是很有必要的。此外获得枪的数量、使用炸弹等其他工具的次数、长距离击杀是玩家提升排名所不可或缺的因素。至于高难度的击杀(爆头、击杀驾车行进的敌人)其实并不重要。最后如果你是新手玩家,多多助攻队友、救援队友、为自己治疗可以帮助团队走得更远哦。

不断更新。。。

###欢迎加入全网音频视频课程共享群群,和各领域大佬一起讨论学习知识####

猜你喜欢

转载自blog.csdn.net/Li_yi_chao/article/details/82978388