金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

点击上方“简说Python”,选择“置顶/星标公众号”

关键时刻,第一时间送达!

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

▍前言


www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案


2015年6月,当时,金州勇士队作为一匹黑马收到很多人看好,果然不负所望,勇士队一路过关斩将一举拿下了总冠军。也是在那个时候,由于库里的出色表现,给大家留下了深刻的印象,成为勇士当家球员。


可以说,从那时起,勇士队开始起飞了。2016年,记得那时候我正在忙着高考,也是在那个时候,新一轮的NBA总决赛的开始了,热血的我们对篮球也是格外热爱,每次晚上寝室熄灯后,我们讨论最多的不是《兰亭集序》怎么背,几何图形怎么解,是篮球,有人喜欢库里,那个时候三分超级厉害,有人喜欢詹姆斯,神一般的人物,很多人都期望着詹姆斯能给俄城带来一座奖杯,不负众望,最终3比4,骑士获得总冠军。


但随后2017和2018年勇士又相继拿下了总冠军,勇士四年拿下三个总冠军,这在NBA历史上也是很少有的成绩了。


我并不是勇士队的球迷,但我却想知道究竟是什么原因让它可以突然出现在人们眼前,并且可以不断地创造辉煌。这背后肯定是有原因的,大家各有各的说法,但我觉得数据不会说谎,我想通过数据来分析勇士队成功背后的原因。


▍数据源


对于数据源,我并没有采用爬虫去采集数据,因为我的重点是分析数据,因此选择直接使用了现有数据源。


数据源来自Kaggle,提供了2012-2018年的所有球员的个人技术统计和球队战绩,链接如下:


https://www.kaggle.com/pablote/nba-enhanced-stats


本篇采用2017-18年的统计数据对勇士队进行分析。


▍技术指标排名


对所有球队的技术指标进行场均值排名,包括均分,均助攻,均盖帽,均二分球得分率,均三分球得分率,并只针对排名前五名进行可视化对比。


1. 场均得分排名

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

勇士队场均得分113.46,排名第一


2. 场均排名

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

勇士队场均助攻29.32,排名第一


3. 场均盖帽排名

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

勇士队场均盖帽7.45,排名第一


4. 场均二分球得分率排名

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

勇士队场均二分球命中率0.56,排名第一


5. 场均三分球得分率排名

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

勇士队场均三分球命中率0.39,排名第一


我们查看了五个主要技术指标,勇士队均是排名第一,常规赛的数据要不要太完美,无论进攻还是防守数据都非常亮眼。


▍勇士队胜负场中两分与三分球得分情况


既然勇士队得分均排名第一,那么我们想要看一下在勇士队胜场和负场中,两分球和三分球的得分情况。下面通过可视化将胜负场和两分与三分关系图联系起来观察。

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案


左侧图为所有比赛中两分球得分率与三分球得分率的散点关系图。右侧图为所有比赛中队伍总得分与对手总得分的关系图(红色为负场,绿色为胜场)。并且,左右这两个图的点是一一对应的。


通过左图得到一些基本观察:

  • 从y轴三分得分率看:勇士队的三分得分率基本在30%至50%之间浮动,其中40%至50%居多。
  • 从x轴两分得分率看:勇士队的两分得分率基本在40%至65%之间浮动,其中55%至65%居多。
  • 二者关系:每场比赛的两分球和三分球得分率还是比较均衡和稳定的,大部分在正常浮动范围内,有极少数情况下的离散点(两分球得分率少于45%,三分球少于30%的)。


通过上面二者关系分析,我们把两分球得分率45%以上,且同时三分球得分率30%以上的比赛定义为正常发挥,而其它一个高一个低或者都低的离散点定义为失常发挥。


通过右图得到一些基本观察:

  • 胜负场数:通过绿色和红色数量观察大约有2/3的场次都赢得了比赛,说明常规赛季勇士队战绩非常好。
  • 队伍 vs 对手得分:单场最高超过140+,最低低于80,所有得分大概是服从正态分布的,集中在100至130之间,场均110+。特殊地,小于95分的场次都输掉了,而大于125分的场次都赢了。


下面对图形进行动态的交互式操作,将两个图联系起来进一步详细分析。


胜场得分情况

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

胜场中对应的两分和三分得分率还是很集中的,基本符合我们所说的正常发挥情况。


败场得分情况

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

败场中对应的两分和三分得分率比较离散,有些正常发挥的情况下也输了比赛,不过数量不多,应该是棋逢对手,遇到强队了。


总体来说,勇士队发挥比较稳定,且在正常发挥的情况下大多抓住了机会,拿下了比赛,获得了常规赛季58胜24负的卓越战绩,排名第一是有道理的。


交互式可视化部分代码如下:

# Bokeh库
from bokeh.plotting import figure, show
from bokeh.io import output_file
from bokeh.models import ColumnDataSource, CategoricalColorMapper, NumeralTickFormatter
from bokeh.layouts import gridplot

# 步骤一:将数据储存在ColumnDataSource中
gm_stats_cds = ColumnDataSource(phi_gm_stats_2)

# 步骤二:生成一个静态的html文件
output_file('phi-gm-linked-selections.html',
           title='76ers Percentages vs. Win-Loss')

# 创建CategoricalColorMapper,对win和loss分配特定颜色
win_loss_mapper = CategoricalColorMapper(factors = ['W', 'L'], palette=['Green', 'Red'])

# 自定义工具
toolList = ['lasso_select', 'tap', 'reset', 'save']

# 步骤三:配置图形界面
pctFig = figure(title='2PT FG % vs 3PT FG %, 2017-18 Regular Season',
               plot_height=400, plot_width=400, tools=toolList,
               x_axis_label='2PT FG%', y_axis_label='3PT FG%')

# 步骤四:采用圆点图绘制数据
pctFig.circle(x='team2P%', y='team3P%', source=gm_stats_cds,
             size=12, color='black')

# 将y轴标记变为百分比形式
pctFig.xaxis[0].formatter = NumeralTickFormatter(format='00.0%')
pctFig.yaxis[0].formatter = NumeralTickFormatter(format='00.0%')

# 创建一个与整体相关的图形
totFig = figure(title='Team Points vs Opponent Points, 2017-18 Regular Season',
               plot_height=400, plot_width=400, tools=toolList,
               x_axis_label='Team Points', y_axis_label='Opponent Points')

# 绘制正方形点图
totFig.square(x='teamPTS', y='opptPTS', source=gm_stats_cds, size=10,
             color=dict(field='winLoss', transform=win_loss_mapper))

# 创建图形布局
grid = gridplot([[pctFig, totFig]])

# 可视化展示
show(grid)


▍勇士队三分球得分情况


看过NBA比赛的朋友都知道,勇士队三分球特别牛逼,动不动就来一顿三分雨真是让对手受不了。下面我们来看一下勇士队球员三分球在NBA所有队伍中是个什么水平,什么如此厉害。


由于一些位置(比如中锋)几乎没有三分,因此我过滤掉了所有投射三分球次数低于100的球员。


下面是交互式操作展示了勇士队的三分命中率情况。

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案
图中x轴为三分总投射次数,y轴为三分球命中的次数,样本是投射三分球次数大于100的所有NBA球员。红色为勇士队队员,蓝色为其它非勇士队队员。


我们看到,在所筛选的球员中,勇士队一共有7人。其中4人命中率在40%以上,分别是斯蒂芬.库里克莱.汤普森凯文.杜兰特奎因.库克。尼克杨也是基本接近40%的。这么人的高命中率真的很吓人,虽在不同位置,却都有着惊人的三分准确率,这确实让勇士队在三分球上占据绝对的优势了。


▍连续比赛的技术指标追踪


下面我们继续深度追踪一下勇士队连续比赛期间随时间变化而有的一些技术影响。还是一样,对于这种复杂的观察,我们借助交互式可视化来进行分析。

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案
图中4个图是关联的,分别记录得分,助攻,篮板,失误随比赛连续进行二出现的情况。红色为负场,绿色为胜场。


通过上面观察,我们可以看到常规赛季在前阶段很少出现失败,大部分都是一直连胜的。而到最后阶段,即66至75之间,出现了连续的失败,次数偏多。很明显地,这个时候的技术指标度不如前阶段。前面一路高歌,最后阶段输球多的原因可能是战术性的放水,或者是怕球员受伤,为最后季后赛以及总冠军养精蓄锐。


可视化分析实现部分代码如下:

# Bokeh库
from bokeh.plotting import figure, show
from bokeh.io import output_file
from bokeh.models import ColumnDataSource, CategoricalColorMapper, Div
from bokeh.layouts import gridplot, column

# 输出文件
output_file('ps-gm-linked-stats.html',
               title='Golden State Game Log')

# 将数据存入ColumnDataSource
gm_stats_cds = ColumnDataSource(gs_gm_stats)

# 调整布局
grid = gridplot([[stat_figs['Points'], stat_figs['Assists']],
               [stat_figs['Rebounds'], stat_figs['Turnovers']]])

# 将x轴联动
stat_figs['Points'].x_range = \
   stat_figs['Assists'].x_range = \
   stat_figs['Rebounds'].x_range = \
   stat_figs['Turnovers'].x_range

# 添加整体的大标题
html = """<h3>Golden State Game Log</h3>
<b><i>2017-18 Regular Season</i>
<br>
</b><i>Wins in green, losses in red</i>
"""
sup_title = Div(text=html)

# 可视化展示
show(column(sup_title, grid))


▍勇士队球员技术对比


我们通过可视化再看一下勇士队里所有队员的平均得分,助攻,抢断,篮板对比情况。下面饼形图展示了所有球员的个人技术指标。


www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案


从上面可视化分析观察到:得分(PTS)来看,贡献最大的前两名是库里和杜兰特,场均都约26.3分,第三名汤神略逊一筹场均约20分,第四是格林11分。助攻(AST)来看,格林排第一,场均7.2个助攻,库里第二,场均6助攻,然后是杜兰特场均5.4助攻。


www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案


从上面可视化分析观察到:抢断(STL)来看,库里最多,场均1.56抢断,第二是格林,场均1.36抢断,第三是伊戈达拉。盖帽(BLK)来看,杜兰特排第一,场均1.75个封盖,格林第二,场均1.3个封盖,然后是维斯特场均1封盖。


从这4个技术指标来看,库里杜兰特无疑是球队的核心了,得分并列第一,助攻前三,其次是汤神。但同时,还有另一个非常关键的人物,格林。如果仔细观察,你会发现虽然格林除了在得分中排第四,其它每个指标中都是前三。不得不说,这位球员真的非常全面,防守助攻能力特别强,并且也有自己的得分手段。此外,伊戈达拉也同样拥有着不错的表现。基于这种实力的排位,这五位也是上赛季常规赛勇士队的首发五虎阵容。

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

可视化部分代码实现如下:

fig = {
 "data": [
   {
     "values": gs_players_pts['playPTS'],
     "labels": gs_players_pts.index,
     "domain": {"x": [0, .48]},
     "name": "PTS",
#       "hoverinfo":"label+percent+name",
     "hole": .4,
     "type": "pie"
   },
   {
     "values": gs_players_pts['playAST'],
     "labels": gs_players_pts.index,
     "text":["AST"],
     "textposition":"inside",
     "domain": {"x": [.52, 1]},
     "name": "AST",
#       "hoverinfo":"label+percent+name",
     "hole": .4,
     "type": "pie"
   }],
 "layout": {
       "title":"Golden State Players PTS vs AST",
       "annotations": [
           {
               "font": {
                   "size": 20
               },
               "showarrow": False,
               "text": "PTS",
               "x": 0.20,
               "y": 0.5
           },
           {
               "font": {
                   "size": 20
               },
               "showarrow": False,
               "text": "AST",
               "x": 0.8,
               "y": 0.5
           }
       ]
   }
}
py.iplot(fig)


▍勇士队核心球员技能指标


核心球员是整个球队的关键,因此下面对勇士核心球员库里与詹姆斯进行一下简单的对比,分别从总投篮命中率,两分命中率,三分命中率,罚球命中率来对比一下。


www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

库里 vs 詹姆斯


上面左右两图的比例不同,因此大小面积不能代表能力强。


  • 二分球命中率:詹皇极高72%,高过库里的57.8%,但这里也包括有突破,快攻等得分,不得不说詹皇发飙的时候谁都挡不住啊。
  • 三分球命中率:库里三分命中率41%,而詹皇只是32%,略占下风。
  • 罚球命中率:库里有87%,而詹皇60%。
  • 总命中率:库里52,%,詹皇54%。


可以发现詹皇在个人突破强吃得分上很占优势,两分球命中率极高,而库里更擅长投篮的三分球得分。二人风格不同,但都具有超强的个人能力和领袖气质,实力上是旗鼓相当的。


下面是杜兰特与詹姆斯的篮板和得分情况对比。


www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案
参考:https://realpython.com/python-data-visualization-bokeh/


▍总结


本篇通过数据可视化分析了金州勇士队的战绩和个人技术指标,以及在整个联盟中的位置,并通过交互式可视化深度研究了勇士队的分数,进球率对胜负的影响。数据告诉我们,勇士队的实力目前在整个联盟确实是数一数二的,并且拥有几个超强的核心坐镇,4年3夺冠也是实至名归。


PS:本人不是勇士队粉丝,只是想通过数据进行分析夺冠原因,不代表任何意见。
www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案



简说Python【读者福利】↓↓

公众号内回复:001 获取Python学习资源

002 获取Java学习资源

003 获取其他学习资源

加老表微信,可以求任何学习资源


往期精彩推荐 ↓↓↓

【1】

【2】

【3】

不失联,扫码加老表微信学习交流

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案
www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

温馨提示

欢迎大家 转发,留言,点赞 支持老表。

文末广告点一下也是对老表莫大的支持。

争做知识的传播者,随手转发。                    ▼   更多精彩推荐,请关注我们   ▼

www.zeeklog.com  - 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

Read more

使用本地大模型调用代码,根本就是一场骗局!

使用本地大模型调用代码,根本就是一场骗局!

通过大模型调用其他工具到底可不可行?ChatGPT 或许能轻松搞定一切,但同样的需求落在本地大模型上,恐怕就要打个问号了。 法国开发工程师 Emilien Lancelot 尝试了多款号称具备工具调用功能的 agent 框架,来看看本地大模型到底能不能完成任务,但结果就像他总结的“一无所获”。是什么让这位工程师失望了? 用 AutoGPT,得会点“糊弄学” AutoGPT 是款貌似强大的框架,提供很酷的 CLI 外加 Flutter UI,能够通过浏览器创建 agent。其主要功能是处理用户的文档、音频、视频等本地内容。 但是……它主要依靠 ChatGPT 或其他专有大模型服务来完成繁重工作,至少给我们的感觉是如此。 我们必须“唬弄”AutoGPT 才能使用 Ollama 端点,让其误认为是 ChatGPT。 ## OPENAI_API_KEY - OpenAI API

By Ne0inhk
详细说明Encoder-only架构的特点以及他和encoder decoder的区别和联系

详细说明Encoder-only架构的特点以及他和encoder decoder的区别和联系

Poe Encoder-only 架构的特点 Encoder-only 模型只使用 Transformer 的编码器部分,专注于对输入序列的理解和表征学习。这类模型通常被用在需要对输入文本进行深度理解的任务上,如文本分类、问答和语义匹配。以下是 Encoder-only 架构的核心特点: 1. 双向上下文建模 * 特点:Encoder-only 模型通过自注意力机制(Self-Attention)同时关注输入序列的前后文。 * 优势:相比单向模型(如 Decoder-only),它可以更全面地捕捉输入序列的全局语义,适合需要理解复杂上下文的任务。 * 实现方式:在训练过程中,不对输入序列进行因果掩码(Causal Masking),允许模型在任何位置访问序列的所有位置。 * 例子:BERT 的 Masked Language Model(MLM)训练任务通过随机遮盖部分单词,依赖左侧和右侧的信息来预测被遮盖的词,即双向建模的典型体现。 2. 适用于理解任务 * 特点:Encoder-only 模型专注于理解输入序列,而不生成输出序列,因此适合处理分类、

By Ne0inhk
手把手教学,DeepSeek-R1微调全流程拆解

手把手教学,DeepSeek-R1微调全流程拆解

手把手教学,DeepSeek-R1微调全流程拆解 原创 极客见识  2025年02月09日 09:02 广东 DeepSeek 通过发布其开源推理模型 DeepSeek-R1 颠覆了 AI 格局,该模型使用创新的强化学习技术,以极低的成本提供与 OpenAI 的 o1 相当的性能。 更令人印象深刻的是,DeepSeek 已将其推理能力提炼成几个较小的模型。这篇文章,我们将使用其蒸馏版本之一引导大家完成 DeepSeek-R1 的整个微调过程。 本文章将演示了如何微调其中一个模型(使用我们自己的自定义思维链数据集),然后保存和部署微调后的模型。 高级推理模型微调 DeepSeek 简介 DeepSeek-R1 是由深度求索(DeepSeek)公司开发的突破性推理模型。DeepSeek-R1 基于 DeepSeek-V3-Base(总共 671B 个参数,每次推理 37B 处于活动状态)构建,使用强化学习 (RL) 在提供最终答案之前生成思路链

By Ne0inhk