没有合适的资源?快使用搜索试试~ 我知道了~
基于统计机器学习的DOTA2阵容的最优抉择.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 96 浏览量
2023-09-09
14:12:36
上传
评论
收藏 1.39MB DOC 举报
温馨提示
试读
33页
基于统计机器学习的DOTA2阵容的最优抉择.doc
资源推荐
资源详情
资源评论
摘要
论文首先详细介绍了 DOTA2 以及统计机器学习的背景以及其的现
状,然后讨论了用统计机器学习方法探索 DOTA2 最佳阵容的设计目标,
项目要求和整体项目设计,以及展开项目的具体设计和开发的全面讨论。
本文项目功能基于 Python 的 Beautiful Soup、Selenium、Matplotlib
等库,编写对应代码而实现了一个 DOTA2 最佳阵容抉择的项目。项目
包括爬虫、统计机器学习等重要功能。
关键词:Python、爬虫、数据处理、统计机器学习
Abstract
The paper firstly introduces the background and current situation of DOTA2
and statistical machine learning in detail, then discusses the design objectives,
project requirements and overall project design of DOTA2 best team by
statistical machine learning method, as well as a comprehensive discussion on
the specific design and development of the project.
Based on Python's Beautiful Soup, Selenium, Matplotlib and other libraries,
this article implements a best-team choice for DOTA2 by writing
corresponding code. The project includes important functions such as crawler
and statistical machine learning.
Key words: Python, crawler, data processing, statistical machine learning
目 录
第一章 绪论 ........................................................................................................................1
1.1 课题背景及意义 ...................................................................................................1
1.2 国内外研究现状 ...................................................................................................2
1.3 课题研究内容 .......................................................................................................3
第二章 开发技术与工具 ....................................................................................................4
2.1 Python 简介...........................................................................................................4
2.2 BeautifulSoup 简介...............................................................................................4
2.3 Selenium 简介 .......................................................................................................5
2.4 线性回归方法简介 ...............................................................................................6
2.5 K-Means 方法简介 ...............................................................................................7
第三章 项目分析与设计 ....................................................................................................8
3.1 可行性分析 ...........................................................................................................8
3.1.1 技术可行性 ..............................................................................................8
3.2 项目总体设计 .......................................................................................................8
第四章 项目实现 ................................................................................................................9
4.1 利用 BeautifulSoup 爬取 DOTAMAX 网站的数据 .........................................9
4.2 利用 Selenium 模拟鼠标悬停收集 DOTA2 官网的数据................................10
4.3 对数据画出相关性矩阵、散点图并进行分析.................................................11
4.4 利用线性回归预测国际邀请赛的强势英雄 .....................................................14
4.5 利用聚类分析判断每个位置的英雄的优劣性.................................................16
第五章 项目测试 ..............................................................................................................20
5.1 测试结果分析 .....................................................................................................20
第六章 总结与展望 ..........................................................................................................21
6.1 总结 .....................................................................................................................21
6.1 展望 .....................................................................................................................21
参 考 文 献 ......................................................................................................................22
附 录 ............................................................................................................................23
致 谢 ............................................................................................................................24
广东东软学院本科生毕业设计(论文)
1
第一章 绪论
1.1 课题背景及意义
DOTA2 作为一个拥有 The International(以下称国际邀请赛)赛事的全球奖金最
高的比赛,是一个举世皆知的电子竞技项目。至今,国际邀请赛已经成功举办了 9
次,第 1 届仅有 1,600,000 美金的总奖金,但到了第 9 届,已经达到 33,394,860 美金
的总奖金,9 年的总增长率为 2087.17875%,可见国际邀请赛的影响力之广、电子竞
技项目的生命力之强、该项目的成长性之迅速。
在中国里,电子竞技运动(E-Sport)日渐成熟,从 2003 年被中国国家体育总局
列为中国正式开展的第 99 个体育项目之后,中国有很多青年也投身于这个行业。在
国际上,由于职业选手日渐变多,所以赛事体制也越来越完善。由于在比赛中要经
过 BP 环节和正式比赛环节,需要很多即时的决断与重大的团队决策,而且在大脑
高速运转的情况下,反应力也不能下降,因此其比赛强度得到很多传统体育行业及
其他行业的人的赞许和认可,其中代表是 NBA 球星林书豪,其称 DOTA2 为电子竞
技界的 NBA。
DOTA2 是一个 ARTS 游戏(multiplayer Action Realtime Strategy Game),中文
翻译是多人动作即时战略类游戏,跟一般认知的 MOBA 游戏(Multiplayer Online
Battle Arena),中文翻译是多人在线战术竞技游戏,是完全不一样的,DOTA2 偏向
战略,所以游戏里面是有非常多的变数,再加上这个游戏的流行度与奖金池之深,
很值得我去运用我所学过的知识去研究这个游戏。
在 DOTA2 里面有一个非常著名的外国职业选手叫 Notail,他拿了两届国际邀请
赛的冠军,可谓是“前无古人,后无来者”,但他接受采访的时候,也很坦诚的表
达出:“到现在还没有人找到这个游戏的正确答案,因为这里面还有太多能发掘的
东西,而我想成为第一个能找到这个游戏的正确答案的人。”
有很多人就算目标不是成为职业选手,也会受其影响力而参与进 DOTA2,就跟
喜欢 NBA 的学生平时喜欢打篮球是一样的,玩家基数多的情况下,自然就会产生大
量的比赛数据。职业选手会通过经验去简单分析当前版本的趋势,但更好的是要用
到更好的方法去对数据进行处理并分析。因为国内大多数 DOTA2 玩家都暂不具备
该能力,所以研究本课题的意义在于,我将所学过的大数据中的统计机器学习方法,
去研究 DOTA2 阵容的最优抉择。
广东东软学院本科生毕业设计(论文)
2
1.2 国内外研究现状
Python 在多年前成为卡耐基梅隆大学(Carnegie Mellon University)、加州大学
伯克利分校(University of California, Berkeley)、哈佛大学(Harvard University)、
麻省理工学院(Massachusetts Institute of Technology)等国外很多大学的计算机专业
的程序设计入门语言。目前国内也逐渐开设了 Python 程序设计课程,Python 同时是
一门免费而且开源的编程语言,拥有很多功能非常强大的标准库和扩展库,而且这
些库都是只要安装了之后,可以随时调用出来使用的。而且 Python 是一门在国外非
常热门的编程编程语言, PYPL 是通过谷歌上的搜索频率来创建的流行的编程语言
索引,只要该编程语言在谷歌上搜索越多,该编程语言就会被认为流行语言,所以
PYPL 排行榜是非常的有参考性的。截止到 2020 年,4 月份,在 PYPL 上,Python
以 30.61%位居榜首,与上一期的排行榜对比,增长率为 3.9%。
网络爬虫则是使用 Python 及其标准库和扩展库、然后根据网页的特性,编写一
系列程序的一种技术。使用爬虫需要安装所需要的标准库和扩展库,而且还要学习
一系列的网页相关的知识,并根据网页的特点,去编写对应的程序,例如要学习 HTTP
的基本原理、网页的组成、网页的结构、节点树及节点间的关系、UPI 和 URL、超
文本、HTTP 和 HTTPS、HTTP 的请求过程、网页的请求和响应、静态网页和动态
网页、代理的作用、爬虫的代理、数据存储、Ajax 数据爬取、动态渲染页面爬取、
验证码的识别、模拟登陆等知识。而验证码的识别往往是最困难的,国外最新的深
度学习中的 PyTorch 技术能识别滑动验证码的缺口,总的来说有两种方法,第一种
算法是:生成一系列目标所在位置的候选框,然后再对这些框选出来的结果进行样
本分类,这算法涉及到深度的卷积神经网络的算法架构,所以准确率会非常搞。第
二种算法是:不需要产生第一种算法里面的候选框,直接将目标定位和分类的问题
转化为回归问题,因为只需要用到回归算法,所以架构相比第一种方法简单,但准
确率会比第一种方法低。这种最新的技术大体上需要以下几步,首先准备数据,训
练深度学习模型,训练模型并进行缺口标注,处理完数据之后就对数据进行初始化,
初始化完成就预载一些预训练模型,安装必须的库,如 PyTorch、TensorBoard 之类
的扩展库,当准备好之后,就可以开始训练刚刚初始化之后的数据集,最后进行测
试,做到这个步骤,就可以识别滑动验证码的缺口了。
统计机器学习是入门级别的数据处理的一种方法,但更侧重于解释变量之间的
关系,机器学习侧重于做出预测,但是大多数机器学习算法缺乏可解释性,所以很
难证明数据中存在的关系。机器学习是基于统计学的,机器学习用的是统计的框架,
广东东软学院本科生毕业设计(论文)
3
机器学习涉及到很大量的数据,数据也必须要用到统计学的框架来进行描述。所以
学习机器学习的基础是要掌握统计学习。统计机器学习的线性回归跟统计学的线性
回归是非常相似的,但只有对统计学的概念有所了解,才能学习机器学习并进行运
用,以避免模型的过拟合问题或者会得出一些看起来貌似合理但实际上是错误的理
论。
1.3 课题研究内容
在 DOTA2 中,影响游戏走向的因素有非常多,版本的更新导致的英雄削弱与
增强、英雄的技能特性、经济、线权、肉山盾的控制权、控符率、经济的差距,由
于其中的经济、线权、肉山盾的控制权、控符率、团队竞技属于比赛中的实时变动
的数据,即为动态数据,所以该课题不选择对此进行研究,本课题研究的是那些静
态的数据,即比赛后结算出来的数据、英雄的技能特性该两项数据,而这两项数据
也会各自细分成很多类别的数据,均为静态的数据,本课题主要是针对这些静态的
数据,发掘其中的相关性,并做出对应该数据的分析。
因此,本课题研究内容有:
1、使用 Python 及其相关库,利用爬虫的知识、网页的知识在数据网站上爬取
第九届国际邀请赛之后、第十届国际邀请赛之前的所有 DOTA2 职业联赛的数据。
数据包含有比赛场数、胜率、KDA、杀、死、助、正反补总数、反补数量、金钱/分
钟、经验/分钟、缠绕、眩晕、治疗、减速、沉默、爆发伤害、持续伤害等该数据并
进行整理;
2、根据其比赛场数、胜率、KDA、击杀、死亡、助攻、正反补、反补数、金钱
/分钟、经验/分钟进行初步的分析,寻找合理的统计机器学习方法去进行研究其中的
关系,例如发掘胜率与击杀数之间的内在关系、死亡数与正反补数的关系等,得出
并得出分析的结果;
3、再结合每个英雄的特性,例如是否带有缠绕、是否带有眩晕、是否带有治疗、
是否带有减速、是否带有沉默、是否带有爆发伤害、是否带有持续伤害,再将该数
据与比赛场数、胜率、KDA、击杀、死亡、助攻、正反补、反补数、金钱/分钟、经
验/分钟结合一起进行一个综合的相关性分析;
4、对上述两点得出的一系列的相关性分析、统计机器学习分析做出相对应的评
价,解释其中的关系;
剩余32页未读,继续阅读
资源评论
南抖北快东卫
- 粉丝: 70
- 资源: 5584
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功