this function classify the elements of a list into clusters .the elements of eatch cluster the distance between theme is <= (max(distance)+min(disatnce))/2 , distance is a list of distances between one element and all the rest of theme. i want to generate this criteria inside the function because in this function the minimum distance is given by me.
the data :
PLAYER,Mat.x,Inns.x,NO,Runs.x,HS,Avg.x,BF,SR.x
AB de Villiers,12,11,2,480,90,53.33,275,174.54
Quinton de Kock,8,8,0,201,53,25.12,162,124.07
Ankit Sharma,0,0,0,0,0,0,0,0
Anureet Singh,0,0,0,0,0,0,0,0
def clustering(groups, min_dist, data, i):
distance = []
for g in range(0,len(groups)):
somme = 0
# jusqu'a la fin des nombre de colomne
for j in range(0,len(list(data.iloc[i, :]))):
# difference between the 1st elt in the cluster and the elts not yet clustered
diff = dif(groups[g][0][j], data.iloc[i, j])
somme = somme+diff
distance.append(somme)
for d in range(len(distance)):
if distance[d] <= min_dist:
groups[distance.index(distance[d])].append(
list(data.iloc[i, :])) # we just add who respects the criterion
else:
group = []
# else on le met dans un nouveau cluster
group.append(list(data.iloc[i, :]))
groups.append(group)
return groups
source https://stackoverflow.com/questions/74550880/how-to-generate-the-minimum-distance-in-this-function
Comments
Post a Comment