畅想小说网

第四节 篮球运动员行为分析(第2页)

天才一秒记住【畅想小说网】地址:http://www.cxtra.net

第二步,将每个元素分配给距离其最近的中心,生成5个簇。

第三步,重新计算每个簇的中心。

因为这两个步骤是需要反复迭代的,为了代码的易用性,下面先以函数的形式定义好这两个步骤要实现的功能,然后在迭代过程中就可以通过反复调用这些函数来完成相应的工作了。

首先定义一个函数,以字典的形式存储中心,字典键值是每个簇的名称,字典的值是对应中心的坐标。

Iroids_to_ditroids):

diary={}

ter=0

forindex,rowiroids.iterrows():

ates=[row['ppg'],row['atr']

diary[ter]=ates

ter+=1

&ionary

再定义用来计算点到中心欧式距离的函数。

这里导入了用于数学计算的math库。

In[11]:importmath

In[12]:defcalculate_distaroid,player_value):

root_distance=0

fe(0,leroid)):

differeroid[x]-player_value[x]

squared_difference=difference**2

root_distance+=squared_difference

euclid_distah.sqrt(root_distance)

&urneuclid_distance

定义函数用来计算每个点到中心的距离,并把它分配到距离最近的中心所在的那个簇。

In[13]:defassign_to_cluster(row):

player=[row['ppg'],row['atr']]

&=-1

clus_id=-1

fortroidiroids_dict.items():

distae_distaroid,player)

iflowest_dist==-1:

&=distance

clus_id=clu_id

&ance0:

本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!

如遇章节错误,请点击报错(无需登陆)

新书推荐

明日之劫从斗破开始当大佬我以武道斩鬼神光明纪元步步生莲兰言之约至尊箭神晚唐浮生武道长生从内丹术开始荒火战争特种兵之二次入伍最弱功德系统怪谈作者拖更日记仙道邪君全球迷雾求生我们的家族没落了炮灰攻略我在末日文字游戏里救世遮天:成帝的我回到地球当保安四合院:香江首富从路边摊开始女明星的贴身保镖深渊主宰修仙从星际开始猎魔手记掌门人不高兴