欢迎访问北单实体店

足球赛事

您现在的位置是: 主页 > 北单体育资讯 > 篮球资讯

篮球资讯

用Python预测英雄联盟比赛胜负:LPL能否在家门口拿下第三座世界赛奖杯?

发布时间:2024-11-28 17:17 篮球资讯 作者:北单这体店微信:200833335
文章浏览阅读3.3k次,点赞2次,收藏16次。...

英雄联盟比赛数据统计_英雄联盟比赛数据分析报告_英雄联盟比赛数据分析

英雄联盟》广受玩家喜爱,每一局比赛都充满不确定性。今天,我们将借助5万场排位赛的数据,向大家传授预测胜负的方法。这样做不仅能帮助玩家更好地掌控比赛节奏,也能作为一种有趣的了解方式。这听起来是不是挺有意思的?

英雄联盟比赛数据分析报告_英雄联盟比赛数据统计_英雄联盟比赛数据分析

英雄联盟比赛数据分析_英雄联盟比赛数据分析报告_英雄联盟比赛数据统计

一血意味着高胜率

在英雄联盟的比赛中,一血的获得对胜利概率有显著提升。第一队赢得一血时,胜率达到了59.48%,比没有一血时高出18%。第二队的情况也类似,一血时的胜率是58.72%,同样比没有一血时高出18%。由此可见,开局抢到一血能让队伍在士气等方面占得先机,为胜利打下基础。而且,这种优势在各个队伍中都比较稳定。

在真实的比赛里,众多队伍都把争夺第一滴血看得非常重要,这通常是教练制定策略的重要部分。在多数比赛的开局阶段,我们常常看到选手们都在努力寻找机会,力求率先击杀对手,获得这一宝贵的第一滴血。

# 数据整理
import numpy as np 
import pandas as pd 
# 可视化
import matplotlib.pyplot as plt 
import seaborn as sns 
import plotly as py 
import plotly.graph_objs as go 
# 建模
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.metrics import confusion_matrix, classification_report

# 读入数据
df = pd.read_csv('./archive/games.csv')
df.head()

首推一塔优势巨大

英雄联盟比赛数据分析_英雄联盟比赛数据分析报告_英雄联盟比赛数据统计

df.shape
(51490, 61)

一塔的摧毁对任何队伍都至关重要。在首队比赛中,若能率先攻陷一塔,胜率可高达70.84%,比未得一塔时高出41.64%,第二队的表现也类似。一塔是队伍早期防御的关键,攻下对方一塔,我方就能更好地掌控地图,便于资源收集和视野扩张,这对赢得比赛极为关键。

英雄联盟比赛数据分析报告_英雄联盟比赛数据分析_英雄联盟比赛数据统计

在职业联赛中,众多队伍为了摧毁敌方一塔,不惜采取各种策略和战术部署。他们甚至愿意承担风险,强行推塔,以期扭转战局。

# 饼图
trace0 = go.Pie(labels=df['winner'].value_counts().index, 
                values=df['winner'].value_counts().values,
                hole=0.5,
                opacity=0.9,
                marker=dict(line=dict(color='white', width=1.3))
               ) 
layout = go.Layout(title='目标变量winner分布')
data = [trace0]
fig = go.Figure(data, layout)
py.offline.plot(fig, filename='./html/整体获胜情况分布.html')

英雄联盟比赛数据分析_英雄联盟比赛数据分析报告_英雄联盟比赛数据统计

先拿水晶塔胜利在望

df['game_duration'] = round(df['gameDuration'] / 60) 
# 选择数据
x1 = df[df['winner'] == 1]['game_duration']
x2 = df[df['winner'] == 2]['game_duration'] 
# 直方图
trace0 = go.Histogram(x=x1, bingroup=25, name='team1', opacity=0.9)
trace1 = go.Histogram(x=x2, bingroup=25, name='team2', opacity=0.9)  
layout = go.Layout(title='比赛游戏时长分布') 
data = [trace0, trace1] 
fig = go.Figure(data, layout)
py.offline.plot(fig, filename='./html/游戏时长分布.html')

在比赛过程中,若某队率先夺得第一座水晶塔,那么他们有高达91%的胜算。这座水晶塔象征着强大的力量与价值,提前将其攻陷,意味着该队已建立起明显的优势。相较于防御塔,水晶塔更难以摧毁,因此能够率先将其推倒,便显示出他们在多个方面都占有明显优势。

英雄联盟比赛数据分析报告_英雄联盟比赛数据分析_英雄联盟比赛数据统计

在一些高级比赛甚至职业赛事里,水晶塔周围的攻防较量时常激烈上演,这充分显示出它在决定胜负方面的重要地位。

plot_bar_horizontal(input_col='firstBlood', target_col='winner', title_name='一血对获胜的影响')  

击杀大龙男爵增益大

英雄联盟比赛数据分析报告_英雄联盟比赛数据统计_英雄联盟比赛数据分析

数据显示,击杀首条男爵能带来八成胜算。此外,率先击败首条大龙的队伍胜率达到了68.6%,比未抢占先机的队伍高出36%。大龙所提供的丰厚兵线和属性加成,对比赛进程有显著推动作用。

现在职业比赛中,很多重要的团战都集中在争夺大龙,一旦哪一方成功夺得大龙,就能获得显著的优势。

plot_bar_horizontal(input_col='firstTower', target_col='winner', title_name='一塔对获胜的影响')

峡谷先锋不容忽视

英雄联盟比赛数据统计_英雄联盟比赛数据分析报告_英雄联盟比赛数据分析

和大龙男爵的情况相似,击败峡谷先锋的第一个队伍,其胜率显著提高。数据显示,这样的队伍胜率高达69.45%,比那些没有先手优势的队伍胜率高出了38.92%。峡谷先锋作为推动推塔速度的关键资源,其作用不容小觑。

plot_bar_horizontal(input_col='firstInhibitor', target_col='winner', title_name='摧毁第一个水晶对获胜的影响')     

在部分比赛里,若能妥善运用峡谷先锋,便能快速扭转战局,对敌方防御塔构成严重威胁。

英雄联盟比赛数据统计_英雄联盟比赛数据分析报告_英雄联盟比赛数据分析

防御塔水晶摧毁量变产生质变

plot_bar_horizontal(input_col='firstBaron', target_col='winner', title_name='击杀第一条男爵对获胜影响')

以第一个队伍为例,摧毁的防御塔越多,我们的胜率就越高。当所有11个防御塔都被摧毁后,我们的胜率高达99.16%,但仍有极小的0.84%概率可能被翻盘。至于水晶,如果水晶未被摧毁,胜率仅为12.55%;摧毁一个水晶,胜率能上升至81.11%;摧毁两个,胜率则达到92.38%。由此可见,摧毁水晶的数量越多,我们赢得比赛的可能性也就越大。

英雄联盟比赛数据分析_英雄联盟比赛数据分析报告_英雄联盟比赛数据统计

通常情况下,在英雄联盟的对战中,我们注意到防御塔和水晶往往是双方争夺的焦点。一旦有人能率先攻破这一区域,那么赢得比赛的可能性就大大增加。

大家是否思考过在自家的游戏里如何更有效地运用这些元素?欢迎在评论区交流你们的想法。另外,别忘了点赞并转发这篇文章。

plot_bar_horizontal(input_col='firstDragon', target_col='winner', title_name='击杀第一条大龙对获胜的影响') 

英雄联盟比赛数据分析_英雄联盟比赛数据分析报告_英雄联盟比赛数据统计

广告位