天才一秒记住【畅想小说网】地址:http://www.cxtra.net
第四节篮球运动员行为分析
banner"
>
这一节将使用k-平均聚类方法根据篮球运动员的行为数据对运动员进行聚类,这样的聚类结果在与球队有关的各项工作中都具有参考价值。
例如,可根据聚类结果判断球员风格,从而更好地进行上场球员的调配;引进新球员时可根据聚类结果挑选更适合球队的球员,弥补球队短板,避免球员同质化;球员还可参考聚类结果进行有针对性的训练等。
本案例所用数据是2013-2014赛季NBA控球后卫的赛场行为数据,并已经过适当地处理(去除噪声和无效数据),数据可从教材资源平台下载。
首先导入需要使用的Python库。
其中pandas提供了高效易用的数据分析工具,numpy是适用于科学计算的库,两者经常配合使用。
matplotlib是Python中常用的绘图系统,用来做数据可视化非常方便。
In[1]:importpandasaspd
In[2]:importmatplotlib.pyplotasplt
In[3]:importnumpyasnp
读入所需的数据,显示数据的前5行,可以看到数据包含33个数据项,其中包括球员姓名、在球队中所打的位置、年龄、赛季等。
具体地,pos代表球员在球场上所打的位置,g代表本赛季参赛场数,pts代表总得分,ast代表助攻次数,tov代表失误次数,ppg=ptsg代表平均得分(Pame),atr=asttov表示助攻失误比(AssistTurio)。
为了简单起见,在此案例中只使用其中的数据项ppg和atr进行聚类,感兴趣的同学可以探索使用更多的数据项进行分析。
In[4]:nba=pd.read_csv('nba_2013sv')
In[5]:nba.head()
Out[5]:
playerposage...seasor
0D.J.AugustinPG26...201313.0985922.504000
1Leandr31...20137.5000001.684211
2J29...20138.3544302.424000
3JerrydBaylessPG25...20139.2500002.365854
4SteveBlakePG33...20136.8727273.009804
[5rowsx33ns]
使用matplotlib可以画出相应数据的散点图(图5-5)。
图5-5
第一步,设置聚类的个数为5,并且随机选取5个点作为初始种子,初始的种子在图中用红色标出(图5-6)。
In[6]:um=5
In[7]:random_initial=np.randoba.index,size=clus
ter_num)
Iroids=nba.lo_initial]
图5-6
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!