记一次基于炉石传说的大数据分析作业
1.前言
最近要做一个关于大数据分析的作业,煮包这边也是不知道从何下手,正在煮包无从下手之际,煮包也灵机一动,想到了主播天天玩的炉石传说,炉石传说有着大量数据结果和海量数据属实是适合大数据分析,但是这个选题也是十分冷门了,我看着班里都在做什么 电商大数据 就业大数据 主播也是想放弃了 但是后来想想也是十分不甘心 于是主播硬着头皮就做了下去做的不好大家多多见谅!
下面
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515212846567-161185983.webp
2.基本研究过程
基本研究过程就是 爬数据——数据预处理——数据分析——数据可视化——分析总结
怎么样?是不是听起来特别简单那么就开赌吧!
首先选取一个合适的网站这里主播也是拜托朋友帮忙爬了下来
素材选自 目前比较热门的炉石传说网站(这里就不具体放出来了)(狗头保命)
2.1数据爬取
下面是爬取时的数据构成 那个网站是通过两层js代码实现
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515212907362-1326866305.png
爬出来的数据是txt格式 部分示例如下
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515212927965-1861325509.png
主播当时接到这个数据也是很懵逼了 这是啥啊根本没法用啊 没关系 没关系 主播直接拿出数据预处理大法
对了 爬虫代码如下
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515212946702-1921039328.png
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515212954063-1005658899.png
2.2数据预处理
爬虫部分主要是由主播的朋友友情提供这是也是非常感谢了 爬虫部分主播也是不太懂 主播就主要写自己干的那部分吧
数据那样肯定不能用主播直接开始数据预处理
先进行数据格式转换
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213006773-1459842527.png
主播第一次干的时候也是直接给数据干乱码了 也是不出主播所料
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213017869-390447218.png
于是主播紧急修改代码 如上图的代码 在修改编码为GBK之后 也是成功转换好数据格式了
数据也是变得很好看了 也是可以往下面进行了
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213038083-519628754.png
下面是数据预处理代码
数据预处理一般包括 a.数据异常值 缺失值 和重复值的处理 b.数据的标准化 主播的预处理代码如下
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213054706-2082645616.png
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213103544-994521424.png
2.3数据预处理与数据可视化
下面基本就是写代码 生成图片 这里主播把可视化主要分为两个部分 一共生成了11副图
前7个图主要是基本的数据分析 直接上代码
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213120131-350340568.png
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213128781-66226259.png
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213135044-883601029.png
这边也是讲一下主播在写代码时遇到的问题 1.就是这个图片应该是通过tkinter窗口进行弹出 但是主播这个pycharm总是报错 通过把代码生成并且保存在文件夹当中
这样就可以保存图片了 2.就是主播第一次生成代码中 横纵坐标的标识是乱码 如下图
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213147683-1266894688.png
通过询问chatgpt之后 主播通过设置系统字体 详情见主播上图的代码 主播就成功解决了问题
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213200307-506091585.png
下面就是生成的前7个数据可视化的图片
图1卡牌费用分布
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213211750-1718212594.png
主播爬取数据的时间节点是炉石传说扩展包“翡翠梦境”mini包未上线之前从此图中我们可以看出 卡组使用较多的还是2-6费 说明环境还是以低费卡为主 也就是说整体的环境也是偏快的 作为一个“牢”玩家 主播也是想到了前一段时间看到的各种各样蛆dk 和虫蛋猎等等
图2卡组胜率排名
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213223377-1692669588.png
这个卡组翻译应该是有点小问题主播也对其十分疑惑
图3出现概率vs打出概率
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213238324-431702446.png
强力卡牌只有打出来才能胜利
图4平均张数vs卡组胜率
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213251054-1574998733.png
这张图就是散点图和回归图的结合
通过分析 卡牌张随着携带张数的增加 胜率有所下降卡牌张数在1-1.4之间 卡组的胜率才比较高 但是我们知道带卡片的张数一般都是1或2张 都是整数 这里的小数其实也意味着.卡组不能过于“臃肿”一般带一张为佳
图5卡组箱型图
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213304544-1353195756.png
通过对图像进行简单分析 可以得到1.当时环境的一些卡组卡组的上下限是比较高的 大部分卡组依赖于打牌者的水平
2.然后大部分卡组的中点中点都在0.55上下 大部分还是偏下的 说明当时环境还是比较“平衡”
图6卡牌费用vs平均卡组胜率
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213316281-1870826635.png
图7卡组多样性分析
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213325937-1990790906.png
这个翻译也根实际中文内容有出入但是卡组构筑应该是差不多的
2.4高级分析和预测
炉石传说的卡组环境不仅影响玩家体验,也反作用于卡牌设计,为了从多个角度对数据进行进一步的分析和思考 我们需要结合简单机器学习算法
主播用的是pycharm 机器学习极其依赖sklearn库主播刚开始写的时候sklearn库 频频安装错误
主播参考下面这篇文章成功安装了sklearn库 如果你也遇到了此类问题的话 可以也参考下面的文章链接
关于Pycharm无法安装sklearn库问题_sklearn库安装失败-CSDN博客
接下来直接上代码
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213340761-1269537695.png
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213347438-513771685.png
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213357296-1079020846.png
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213404490-1199327858.png
图8 卡组强度类别
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213420213-1840983221.png
、
逻辑回归。它能够通过建模卡牌特征与胜负之间的关系,帮助我们量化每张卡牌对胜率的影响,揭示隐藏在对战数据背后的逻辑结构**
通过对数据进行分析我们可得 1.大部分卡组都被我们分为普通卡组这和我们之前得到的“环境较为稳定”相互印证
2.通过分析图片 我们也可以看到到环境中缺失缺乏一些相对"较强"的卡组
图9卡组聚类分析
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213430802-623958627.png
从图中可以看到数据点形成了3-5个相对独立的聚类群,说明当前版本的卡组自然地分成了几类具有显著差异的构筑模式。这种分群可能对应着不同的主流战术流派(如快攻、控制、组合技等)
[*]部分卡组展现混合特性
在主要聚类之间的过渡区域存在一些分散的数据点,这些"跨界"卡组虽然数量较少,但可能代表着潜在的战术创新方向
图10特征重要值分析
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213442300-1399015614.png
图11 胜率趋势预测
https://img2024.cnblogs.com/blog/3457363/202505/3457363-20250515213450343-56879047.png
3.小结
1..当前版本整体还是处在一个较为“稳定”的状态但是还是存在创新力不足,卡组固化等问题
2.当前游戏环境还是比较一些“关键卡”的打出,并且还是存在一些较为“优势”的卡组
3.当前游戏环境整体趋于“中快速”环境对于娱乐玩家或者是“控制卡组”玩家不太友好
其实以上的话转换成人话就是 翡翠梦境目前 环境 平衡 中快速 稳定但是无聊
之前主播取查数据的时候发现炉石传说的在线人数最巅峰时间也才46万 这对比lol huo pubg 那种天天嚷嚷着要凉了 结果每天日活80-90w的游戏才是真的玩的人少 目前主播有种感觉 玩炉石的年轻人相对没有那么多了 希望游戏能够越来越有趣 也希望大家能越来越好吧!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]