利用英超FPL数据分析球员第一期——曼联半程MVP

大家新年好,好久没有更新博客,众所周知,我之前的博客基本上是以系统操作和LeetCode算法题的为主,于是趁着新春佳节给大家介绍一些我的idea,其中一个就是将Nature Language Processing (NLP) 应用在英超范特西联盟(FPL)数据上去分析球员的表现。

为什么说选择FPL的数据作为分析的源头,主要是一般的球员数据在各大平台比较分散,而FPL为玩家提供每周竞赛GW的数据比较全面,容易获得,而且还自带了一个基于高级数据分析的奖励分——bonus,来评价每场比赛的优秀球员,分值从1分到3分。因此这些数据极大减轻了笔者在数据处理中的时间负担。

目录

算法选择

数据

结果

结论

引用


 

  • 算法选择

作为这个算法的初期实现,笔者采用了比较经典TF-IDF算法。这个算法主要作用是根据字词在语句中出现的次数与整个语料中的语句频率来计算一个字词在整个语料中的重要程度,同时能够过滤掉一些非常常见但无重要意义的词语,例如:the。为什么想到将其应用于FPL数据中,笔者主要考虑到,若是以球队为单位可视作语料,每一个球员即可视为单一语句,其每一个动作比如射门,传球,进球则可以看作是每一个字词,因此利用该算法就可以分析得到每一个球员的所发生的动作重要性,以及他们在球队中的重要性。

  • TF(Term Frequency):词频 TF=\frac{t}{d}

其中t指词在文章中出现的次数,而d指文章的总次数。

  • IDF(Inverse Document Frequency):逆文档频率IDF=log_e \frac{ND}{ND_t}

其中ND指语料库中的文档数,而ND_t指含有该词语的文档数。

  • 其重要性:W=TF\cdot IDF
  • 整个语句的长度:||vec(d)||=\sqrt{W^2_{i1}+W^2_{i2}+...+W^2_{in}}=||d||

在这里语句长度替代了球员在整个队伍数据所占的篇幅,即其重要性。

  • 数据

数据汇总截止于GW20,即1月28日对阵谢菲联后,只选取了已经出场的球员的数据,数据引用可参考引用一栏。

以下为球员的基础数据,以first name首字母排序:

Goals_scored 进球数

Assists 助攻数

Minutes 上场时间(分钟)

Goal_conceded 失球数

Threat 威胁

FPL_bonus 英超范特西奖励分

Clean_sheets 零封

Red_cards 红牌

Yellow_cards 黄牌

Save 扑救数

Own_goal 乌龙球

Appearance 上场数

Shot_per_90mins 每90分钟射门数

Pass_led_to_shot_per_90mins 每90分钟中引领射门的传球数

其中上场时间和上场数不作为词语分析。

  • 结果

单个动作的重要性(逆文档频率):

Goals_scored 0.693147181
Assists 0.613104473
Goals_conceded 0.042559614
Threat 0.182321557
FPL_bonus 0.613104473
Clean_sheets 0.344840486
Red_cards 3.17805383
Yellow_cards 0.538996501
Save 2.484907
Own_goal 2.484907
Shot_per_90mins 0.233615
Pass_led_to_shot_per_90mins 0.28768207

每个球员的动作频率重要性,以first name首字母排序:

first_name second_name Goals_scored Assists Goals_conceded Threat FPL_bonus Clean_sheets Red_cards Yellow_cards Save Own_goal Shot_per_90mins Pass_led_to_shot_per_90mins
Aaron Wan-Bissaka 0.693147181 0.61 0.936311517 13.12715 1.83931342 2.069042918 0 0 0 0 0.039714525 0.192746989
Alex Nicolao Telles 0 1.23 0.340476915 5.469647 1.83931342 0.344840486 0 0 0 0 0.163530396 0.500566806
Anthony Martial 1.386294361 3.07 0.893751903 90.06685 1.22620895 1.034521459 3.1780538 0 0 0 0.579364831 0.290558893
Axel Tuanzebe 0 0.00 0.127678843 0 0 0 0 0.5389965 0 2.484907 0
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值