NBA控卫聚类——K-Means详解

本文通过NBA2013-2014赛季控球后卫(PG)的数据,利用K-Means算法进行聚类分析。探讨了Points Per Game(场均得分)和Assist Turnover Ratio(助攻失误比)等指标,并详细解释了K-Means的步骤,包括初始中心点的选择、簇的调整和收敛。文章指出K-Means的挑战在于可能陷入局部最优和对初始质心敏感,并介绍了二分K-均值作为改进方法。
摘要由CSDN通过智能技术生成

Dataset

在NBA的媒体报道,体育记者通常会集中在少数几个球员身边。为什么这个球员与其他球员不一样?使用数据挖掘可以探索这个问题。本文的数据集nba_2013.csv是2013-2014赛季的NBA球员的表现。下面是数据集的一些属性描述:

  • player – name of the player
  • pos – the position of the player
  • g – number of games the player was in
  • pts – total points the player scored
  • fg. – field goal percentage(投篮命中率)
  • ft. – free throw percentage(罚球命中率)
# 首先打印数据的前三行,观察数据的特性,总共31个属性
import pandas as pd
import numpy as np

nba = pd.read_csv("nba_2013.csv")
nba.head(3)
'''
         player pos  age bref_team_id   g  gs    mp   fg  fga    fg.  \
0    Quincy Acy  SF   23          TOT  63   0   847   66  141  0.468   
1  Steven Adams   C   20          OKC  81  20  1197   93  185  0.503   
2   Jeff Adrien  PF   27          TOT  53  12   961  143  275  0.520   

      ...      drb  trb  ast  stl  blk  tov   pf  pts     season  season_end  
0     ...      144  216   28   23   26   30  122  171  2013-2014        2013  
1     ...      190  332   43   40   57   71  203  265  2013-2014        2013  
2     ...      204  306   38   24   36   39  108  362  2013-2014        2013  

[3 rows x 31 columns]
'''

Point Guards

控球后卫(Point Guards)往往是全队进攻的组织者,并通过对球的控制来决定在恰当的时间传球给适合的球员,是球场上拿球机会最多的人。他要把球从后场安全地带到前场,再把球传给其他队友,这才有让其他人得分的机会。 一个合格的控球后卫必须要能够在只有一个人防守他的情况下,毫无问题地将球带过半场。然后,他还要有很好的传球能力,能够在大多数的时间里,将球传到球应该要到的地方:有时候是一个可以投篮的空档,有时候是一个更好的导球位置——百度搜的,我也不懂球╰( ̄▽ ̄)╭

  • 先提取出所有控卫的球员信息,控卫的属性pos值为PG:
point_guards = nba[nba['pos'] == 'PG']

Points Per Game

  • 由于我们的数据集给出的是球员的总得分(pts)以及参赛场数(g),没有直接给出每场球赛的平均得分(Points Per Game),但是可以根据前两个值计算:
point_guards['ppg'] = point_guards['pts'] / point_guards['g']

# 查看下数据,确保 ppg = pts/g
point_guards[['pts', 'g', 'ppg']].head(5)
'''
    pts   g        ppg
24  930  71  13.098592
29  150  20   7.500000
30  660  79   8.354430
38  666  72   9.250000
50  378  55   6.872727
'''

Assist Turnover Ratio

NBA中专门有一项数据统计叫assist/turnover,是用这个队员助攻数比上他的失误数,这项统计能准确的反映一个控卫是否称职。

  • 助攻失误比的计算公式如下,其中Assists表示总助攻(ast),Turnovers表示总失误(tov)。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值