bonjour,
J'ai transcris ce code matlab :
eva = evalclusters(X,'kmeans','silhouette','KList',[1:Maximum_Number _of _CoC _Clusters]);
En python :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| KList = np.arange(1, Maximum_Number_of_CoC_Clusters + 1)
silhouette_scores = []
for k in KList:
kmeans = KMeans(n_clusters=k)
kmeans.fit(X)
if k > 1: # silhouette score is not defined for k=1
score = silhouette_score(X, kmeans.labels_)
silhouette_scores.append(score)
else:
silhouette_scores.append(-1) # Placeholder for k=1
best_k = KList[np.argmax(silhouette_scores)]
eva = {'OptimalK': best_k, 'SilhouetteScores': silhouette_scores} |
Mais je ne suis pas certain de la bonne traduction, alors si quelqu'un pouvait m'aider, ce serait top !
Merci par avance pour votre aide !
Bonne après-midi,
Partager