bonjour,

J'ai transcris ce code matlab :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
eva = evalclusters(X,'kmeans','silhouette','KList',[1:Maximum_Number _of _CoC _Clusters]);
En python :
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
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,