㈠ DOTA2数据分析入门(一):获取数据源
2016年夏天,我和室友昊哥下班回到家,通常会一起操作几盘刀塔。 老年人连跪几把之后,到了“赢一把睡觉”的关键局,我们会默契的掏出开黑英雄组合——发条&沉默。昊哥选发条劣单,我玩沉默走中,6级后发条勾上去、沉默开大稳定秒一个(智力+2),4000分的鱼塘基本没输过。相处非常融洽。
一旦有比赛,场面就没有这么和谐了,昊哥是B神粉丝,我是CTY粉丝。大部分比赛都是各看各的,毫无交流。偶尔B神对阵CTY,也是同屏异梦,各怀鬼胎。
但是!谁也没有想到!TI6前大地震一波操作,最后的结果居然是BCHRS合体组成VG战队,开启了燃烧的远征。听到这个消息,我和昊哥一下子就激动了!B神和CTY成了队友,我们两个小粉丝可以愉快的支持同一只战队了!
除了摇旗呐喊,我们两个码农决定做一个小软件——“BP助手”,统计各个队伍的BP特点(展示英雄协作和克制关系),想为燃烧军团出一份力...结果第二天昊哥接到一个新的工作任务,鸽了...我一个电子科大计院的水硕,离开浙大牛硕的支持,进展缓慢。
后来的事情大家都知道了——承载着万千粉丝希望的燃烧军团,一路披荆斩棘,却倒在了最后一战,抱憾离开TI6的赛场。(CTY曾回顾这段经历:作彼此的宝搞。)然而神奇的是,我对DOTA2数据分析的热情,并没有随着燃烧军团的失败而褪去,反而愈来愈高。从此之后,我没有再玩过一局刀塔,而是把以前拿来玩DOTA2的时间,全部用来学习数据分析(以DOTA2职业比赛为数据源),年底转行做了一名商业数据分析师。
在这一年半中,我用空余时间写了数十篇DOTA2数据分析文章。承蒙大家抬爱,阅读量不错,粉丝过十万,竟也成了自媒体。慢慢就有很多人私信我,问我如何学习数据分析。
我很想好好回答这些问题,不辜负大家的信任。但是一方面零基础入门数据分析需要学习的东西很多,三言两语讲不清楚;另一方面我做数据分析师才一年,才疏学浅也不敢造次。
正巧当时“优达学城”的中国区负责人看到《TI7伤害之王》后找到我(这位兄弟也是doter),希望让我做数据分析课程的明星学员,体验并给出建议。深度了解之后,我觉得这个在线课程的课程质量、代码批阅、项目过关和学习氛围都挺不错。于是找优达学城订制了“DOTA2”专属优惠码,把数据分析师(入门)课程课程推荐给大家。
到目前为止,已经有数十人使用DOTA2优惠码报名了课程,而且学得不错。所以,我决定再抬大家一手,把我做DOTA2数据分析以来,积累的经验、踩过的坑,写成这个系列文章,让各位电子竞技爱好者在学习数据分析的时候,多一个参考~
现在开始上课。DOTA2数据分析入门(一):获取数据源
适合阅读本系列文章的读者本节课学完之后,你能回答这些问题一、如何获取DOTA2数据源
获取DOTA2数据源的方式大致有四种:
二、业界最好的DOTA2数据源在哪里
先说API,码农世界的API指的是Application Programming Interface,应用程序编程接口...是不是有点晕?有一种“黑板是吸收知识的地方,只是教室的阳光,那颜色我不太喜欢,没有操场的自然”的感觉?
没关系,我们换一个解释方式:API就是约定好一套规则,一方发出请求,一方按要求执行,并返回结果。举例!我早上去买热干面,跟老板说:一碗热干面,不要辣。付款之后等个几分钟,老板就会把热干面递给我。(老板提供了“热干面API”供我使用!)
DOTA2数据API也是一样,你只用告诉系统要哪场比赛的数据,系统就会把数据传给你。只不过沟通语言从普通话换成了编程语言(python、java等),返回的结果从热干面换成了数据(json格式等),面馆也变成了数据提供方(官方API、OPENDOTA提供的API等)。
那么,业界哪一个数据团队做的热干面最好吃(提供的数据最好用)?——OPENDOTA团队!有同学就要问了,OPENDOTA是个啥?数据不应该都在V社爸爸手里吗?为什么不用V社提供的API?
V社确实提供了官方API,但是很久没有维护(可能在度假吧,你看网站老掉牙的UI...),使用体验很差。我当初研究DOTA2数据源的时候,浪费了大量时间探索官方提供的WEBAPI。所以,这个坑大家就别踩了!
调用API,需要掌握一门编程语言(我推荐python)。但编程语言的学习门槛略高,如果直接从python调用API入手,很容易在体验到数据分析的乐趣之前就被折磨的敲出GG。(python可以在网上找资料自学,如果基础太差没啥自信,也可以使用DOTA2优惠码报名优达学城的python入门课程。)
所以,让我们从使用SQL查询数据库开始学习!这里要给OPENDOTA点一个大大的赞!他们非常人性化的提供了一个交互查询功能,只输入SQL查询语句,网站就会把数据从数据库中取出来呈现给你。(不需要安装任何软件,对初学者很友好)
那么如何学习SQL呢?
这个问题知乎上有更好的答案。但我想强调的是:兴趣是最好的老师。SQL经典教材,往往会让你查询经典的部门-职工数据库(或者学生-成绩数据库),做很多枯燥的练习,学了之后也容易忘记。但是!!!如果你本身是一个电竞爱好者,使用DOTA2数据库学习SQL,一定会学得开心又扎实!
本节课到这里就正式结束啦。有同学肯定一脸懵逼:这个课程和平常上的不太一样,没有概念讲解,也没有例题演练。没有就对了!这个系列的教程不是操作手册,更不是网络全书,只是试图给出一张明晰的鸟瞰图,帮助大家少走弯路。但路还是自己走过一遍,才会有所感悟。
如果想走的更快、有人同行(或者基础很差又决定了要做数据分析师),我还是推荐“优达学城”的数据分析零基础入门课程。(使用“DOTA2”优惠码可以减免学费,但会增加一个额外的毕业要求——写一份电竞数据分析报告,公开发表,接受大家的检验!)
给大家留几道SQL作业题(如果做不出来,下节课就不用上了...):
几点说明: