英雄联盟想必大多数读者不会陌生,这是一款来自拳头,由腾讯代理的大型网络游戏,现在一进网吧,你就能发现一大片玩英雄联盟的人。在2017年中国战队无缘鸟巢的世界总决赛后,一大片人选择了弃游,只是终究没躲过“真香定理”,在2018年的中旬,又有大批战友又回到熟悉的召唤师峡谷战场,时至今日,英雄联盟已经不仅仅是一款游戏,一个电竞项目了,它已经成为了我们生活的快乐源泉了。

问君能有几多愁,辅助闪现抢人头;问君能有几多愁,卡牌千里送人头。问君能有几多愁,皇子开大关队友;清明时节雨纷纷,各种队友各种坑。别人笑我不买眼,我笑别人浪费钱;孤帆远影碧空尽,草丛惊现蛮易信 。相见时难别亦难,碰见赵信菊花残;我自横刀向天笑,剁人只需用三刀。苦练盲僧千百次, 盲目对战N 多次;战输不下五十次, 砸得鼠标要出事;举杯邀明月,草丛遇盖伦。

鉴于现在喜欢英雄联盟的大佬如此之多,为了帮助大家尽快的拿到首胜,小编爬取并分析了1982余场LOL数据。非常神奇的是!在开局之前能够高概率的预测本局的胜负!让你提前做好心理准备。

假设

假设没有王者等大神代玩小号

假设没有代练

假设没有因为半途被媳妇抓到而挂机的行为

假设没有突然掉网连不上去的行为

游戏对战数据获取

国服:腾讯游戏平台非官方API - http://www.games-cube.com/

外服:Riot开发者平台API- https://developer.riotgames.com/

连接数据库:

import numpy asnp

import pymysql, random, json

def connect_db(database):try:

conn= pymysql.connect(host=‘localhost‘, port=3306, user=‘root‘, password=‘zandaoguang‘, db=database, charset=‘utf8‘)returnconn

except:

print (‘Exception: MySQL Connection‘)return None

分析和训练数据

利用神经网络(neural_network)、随机森林(random_forest)和支持向量机(support_vector)等若干智能算法进行训练和回归,最终进行比较效果。

下面为神经网络部分代码:

from__future__ import print_function

import numpyasnp

#np.random.seed(1337) # forreproducibilityfromkeras.datasets import mnistfromkeras.models import Sequential, load_modelfromkeras.layers import Dense, Dropout, Activation, Flattenfromkeras.layers import Convolution2D, MaxPooling2Dfromkeras.utils import np_utilsfrom keras import backend asKfromkeras.optimizers import SGD, Adam, RMSprop

import gzip

import sysfromsix.moves import cPicklefrom fetcher import *batch_size= 256nb_classes= 2nb_epoch= 100champion_dict= fetch_champion_dict("champion136.json")

champion_num=len(champion_dict)

X_train= X_train.astype(‘int8‘)

X_test= X_test.astype(‘int8‘)

print(‘X_train shape:‘, X_train.shape)

print(X_train.shape[0], ‘train samples‘)

print(X_test.shape[0], ‘test samples‘)

Y_train=np_utils.to_categorical(y_train, nb_classes)

Y_test=np_utils.to_categorical(y_test, nb_classes)

model=Sequential()

model.add(Dense(1500, input_dim = champion_num, init=‘uniform‘))

model.add(Activation(‘sigmoid‘))

model.add(Dense(2))

model.add(Activation(‘softmax‘))

model.summary()

model.compile(loss=‘categorical_crossentropy‘,

optimizer=RMSprop(),

metrics=[‘accuracy‘])

history=model.fit(X_train, Y_train,

batch_size=batch_size, nb_epoch=nb_epoch,

verbose=1, validation_data=(X_test, Y_test))

score= model.evaluate(X_test, Y_test, verbose=0)

print(‘Test score:‘, score[0])

print(‘Test accuracy:‘, score[1])

随机森林代码:

fromsklearn.ensemble import RandomForestClassifierfromsklearn.externals import joblibfrom fetcher import *champion_dict= fetch_champion_dict("champion136.json")

champion_num=len(champion_dict)

X_train, y_train, X_test, y_test= fetch_one_side_riot(‘12‘, ‘MATCHED_GAME‘, ‘KING_PORO‘, ‘KINGPORO‘, (‘1492660800000‘, ‘1493740800000‘), champion_dict)

clf= RandomForestClassifier(n_estimators=500, n_jobs=2)

clf.fit(X_train, y_train)

train_score=clf.score(X_train, y_train)

print ("Train Score ="+str(train_score))

test_score=clf.score(X_test, y_test)

print ("Test Score ="+str(test_score))

支持向量机代码:

fromsklearn.externals import joblibfromsklearn import svmfrom fetcher import *champion_dict= fetch_champion_dict("champion136.json")

champion_num=len(champion_dict)

X_train, y_train, X_test, y_test= fetch_one_side_riot(‘12‘, ‘MATCHED_GAME‘, ‘ARAM_UNRANKED_5x5‘, ‘ARAM‘, (‘1492660800000‘, ‘1493740800000‘), champion_dict)

clf=svm.SVC()

clf.fit(X_train, y_train)

train_score=clf.score(X_train, y_train)

print ("Train Score ="+str(train_score))

test_score=clf.score(X_test, y_test)

print ("Test Score ="+str(test_score))

游戏对战胜负预测

根据双方英雄阵容,预测获胜方的准确率(%)

PS:由于阿广近期没有玩英雄联盟,所以分析的数据为2017年的游戏数据。

只根据本方英雄阵容,预测本方能否获胜的准确率(%)

期望研究的问题

LOL中游戏胜利是否与能性别有关?

LOL的胜率是否和每天的时间段有关系?

在女朋友阻止自己玩游戏的情况下,LOL的胜率下降多少?如何解决?

注:由于数据量太小,以后能收集到更多的数据,是希望可以对上面以及更多的方向进行研究。

结论

LOL取得最后胜利的三个重要因素为:团队阵容、团队水平,配合默契度。

合理的分配BUFF也是游戏胜利的必要因素。

打游戏的心态也是游戏胜利一个不可或缺的条件。

结语:

虽然我们通过机器学习算法可以预测这把的输赢,但是这毕竟不是我们最后的结果。玩英雄联盟和爱情类似,明明知道是我们不可能,却坚持去追求,这正是爱的美丽。也许没有什么结果,可那过程本身的美丽便足够用一生去品味。

游戏本来的用意是给大家放松心情,释放压力的(职业选手就不同了)。所以我们一定要把握好时间,对于沉迷游戏这种的就大可不必了,好的游戏应该是带给我们快乐,假如天天沉迷游戏,堕落不已,那就落入了错误的深渊了。当然好的方面也不是没有,看厂长、UZI这些选手就是好的代表啊!以上就是本文的全部内容,喜欢的小伙伴点个赞呗!

写在最后:

如果大家在学习Python的路上,或者打算学习Python需要学习资料,可以加群571799375,群里学习资料免费赠送给大家喔!

本文来自网络,如有侵权,请联系小编删除!

原文:https://www.cnblogs.com/djdjdj123/p/10254967.html

python读取游戏数据_用Python抓取并分析了1982场英雄联盟数据,教你开局前预测游戏对局胜负!...相关推荐

  1. 用Python抓取并分析了1982场英雄联盟数据,教你开局前预测游戏对局胜负!

    英雄联盟想必大多数读者不会陌生,这是一款来自拳头,由腾讯代理的大型网络游戏,现在一进网吧,你就能发现一大片玩英雄联盟的人.在2017年中国战队无缘鸟巢的世界总决赛后,一大片人选择了弃游,只是终究没躲过 ...

  2. python英雄对战代码_用 Python 分析了 1982 场英雄联盟数据,开局前预测游戏对局胜负!...

    前言 如今,只要随便进入一个网吧,都会发现玩<英雄联盟>的人是最多的,可以这么说,<英雄联盟>已经是当之无愧的端游一哥.而在拥有如此基数玩家的<英雄联盟>,已经不仅 ...

  3. 用Python分析了1982场英雄联盟数据,开局前预测游戏对局胜负!

    微信改版,加星标不迷路! 用Python分析如何打好英雄联盟? 作者:阿广 概述 前言 假设 游戏对战数据获取 分析和训练数据 游戏对战胜负预测 期望研究的问题 结论 阿广说 推荐阅读 前言 如今,只 ...

  4. 用 Python 分析了 1982 场英雄联盟数据,开局前预测游戏对局胜负!

    前言 如今,只要随便进入一个网吧,都会发现玩<英雄联盟>的人是最多的,可以这么说,<英雄联盟>已经是当之无愧的端游一哥.而在拥有如此基数玩家的<英雄联盟>,已经不仅 ...

  5. python读取第二行_使用Python操作Excel(二):读取数据表

    上一节我们提到,使用openpyxl可以方便的对数据表进行操作,例如:抽象Excel数据并存入数据库 将数据库数据导出到Excel 给一个已存在的数据表追加信息 我们还介绍了一些Excel的基本术语, ...

  6. python读取sas数据集_利用Python获取SAS和R自带数据集

    图:北京-奥森公园-2018年4月 无论是SAS.R还是Python,本身都自带一些数据集,对于初学者来说,可以通过这些自带的小数据集进行编程练习,无疑是非常方便的.SAS.R作为统计分析软件,本身自 ...

  7. python爬取流浪地球_【李宁】Python大厂面试题解析+流浪地球评论抓取和分析

    面试题目以及相应的源代码在学习资料中,购买后请自行下载 以Python3.x为基础,解析了各种类型的Python面试题,并给出了详细的答案.同时详细解析了Python的领域之一的数据分析师需要学习的相 ...

  8. python读取xls文件_从python中的xls读取unicode

    我正在尝试使用 Python读取.xls文件.该文件包含多个非ascii字符(即äöü).我已经尝试过使用openpyxls和xlrd(我对xlrd寄予厚望,因为它无论如何都会读取unicode中的所 ...

  9. python 爬虫课程推荐_关于递归抓取的课程推荐

    Python爬虫包 BeautifulSoup 递归抓取实例详解概要:爬虫的主要目的就是为了沿着网络抓取需要的内容.它们的本质是一种递归的过程.它们首先需要获得网页的内容,然后分析页面内容并找到另一个 ...

最新文章

  1. 敏捷开发框架_他山之石-敏捷开发管理框架在设计项目中的应用
  2. 出现了奇数次的数字的算法
  3. Windows Service Wrapper:将程序注册为windows系统服务工具
  4. SAP 电商云 Spartacus UI B2B checkout 点击 Continue 不能跳转到下一页面
  5. canvas实现抽奖插件—大转盘和九宫格
  6. poj 3280 区间dp
  7. 手动实现一个vue的mvvm,思路解析
  8. 高通笔记本装linux,在华硕畅370(TP370QL)骁龙笔记本上安装Ubuntu 18.04 ARM64的方法...
  9. java 实现pdf 转图片_java实现pdf转图片pdf
  10. word图文打印排版
  11. Progressive LayeredExtraction(PLE):ANovelMulti-Task Learning(MTL)ModelforPersonalizedRecommendations
  12. 写给Python程序员的PHP快速入门教程
  13. react(子传父、父传子)
  14. 高德地图实现展示多个规划的路线
  15. 随机产生10个整数;设计一个算法找其中的最大的元素和最小的元素,并统计元素之间的比较次数
  16. 注入(Injection)
  17. python实现截取视频中特定帧进行保存功能
  18. obj文件格式与mtl文件格式
  19. conflict 冲突
  20. Anaconda下Python中h5py与netCDF4模块下载与安装方法

热门文章

  1. 汽车以太网IOP测试之前世今生
  2. (转载)WPARAM与LPARAM
  3. 室内物流机器人现存痛点分析
  4. Linux 系统安装
  5. SQL中的连接(左、右、内连接)
  6. 基于工作行为的研发管理体系设计及实践
  7. 诺顿等效电路 用计算机,r t norton equivalent circuits (诺顿等效电路).ppt
  8. 借用excel 设计 fasterport 表格,主要是考虑 转回excel 整齐好看
  9. 什么是zkSNARKs:谜一般的“月亮数学”加密,Part-1
  10. 6. 修改docker端口 (映射宿主机和docker容器中的端口)