import pandas as pd
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_samples,silhouette_score

#Leggiamo il dataset
df = pd.read_csv('../../Desktop/FIA/datasetFinito.csv')
#Non consideriamo la colonna "titolo" non essendo importante ai fini dell'algoritmo
X = df.drop(['Titolo'], axis=1)

#Creiamo una lista che contenga tutte le somme di distanza quadrata
# di ogni campione dal centro del cluster più vicino
clusterErrors = []

for i in range(2, 30):
    #Eseguiamo l'algoritmo KMeans
    km=KMeans(n_clusters=i, max_iter=1000).fit(X)
    #Aggiungiamo alla lista la somma di distanza quadrata di ogni campione
    # dal centro del cluster più vicino
    clusterErrors.append(km.inertia_)
    #Calcoliamo i centri del cluster e
    # prediciamo l'indice del cluster per ogni campione
    y_predict = km.fit_predict(X)
    #Assegniamo le coordinate dei centri dei cluster (i centroidi)
    centroids = km.cluster_centers_
    #Prevediamo il cluster più vicino a cui appartiene ogni campione presente in X
    label = km.predict(X)
    #Stampiamo il Silhouette Score
    print(f'Silhouette Score(n={i}): {silhouette_score(X,label)}')

7c3ce9730cd698930f800f60bd6935cb10b11ba2
<mask token>

<mask token>
for i in range(2, 30):
    km = KMeans(n_clusters=i, max_iter=1000).fit(X)
    clusterErrors.append(km.inertia_)
    y_predict = km.fit_predict(X)
    centroids = km.cluster_centers_
    label = km.predict(X)
    print(f'Silhouette Score(n={i}): {silhouette_score(X, label)}')

<mask token>
df = pd.read_csv('../../Desktop/FIA/datasetFinito.csv')
X = df.drop(['Titolo'], axis=1)
clusterErrors = []
for i in range(2, 30):
    km = KMeans(n_clusters=i, max_iter=1000).fit(X)
    clusterErrors.append(km.inertia_)
    y_predict = km.fit_predict(X)
    centroids = km.cluster_centers_
    label = km.predict(X)
    print(f'Silhouette Score(n={i}): {silhouette_score(X, label)}')

import pandas as pd
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_samples, silhouette_score
df = pd.read_csv('../../Desktop/FIA/datasetFinito.csv')
X = df.drop(['Titolo'], axis=1)
clusterErrors = []
for i in range(2, 30):
    km = KMeans(n_clusters=i, max_iter=1000).fit(X)
    clusterErrors.append(km.inertia_)
    y_predict = km.fit_predict(X)
    centroids = km.cluster_centers_
    label = km.predict(X)
    print(f'Silhouette Score(n={i}): {silhouette_score(X, label)}')

import pandas as pd
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_samples,silhouette_score

#Leggiamo il dataset
df = pd.read_csv('../../Desktop/FIA/datasetFinito.csv')
#Non consideriamo la colonna "titolo" non essendo importante ai fini dell'algoritmo
X = df.drop(['Titolo'], axis=1)

#Creiamo una lista che contenga tutte le somme di distanza quadrata
# di ogni campione dal centro del cluster più vicino
clusterErrors = []

for i in range(2, 30):
    #Eseguiamo l'algoritmo KMeans
    km=KMeans(n_clusters=i, max_iter=1000).fit(X)
    #Aggiungiamo alla lista la somma di distanza quadrata di ogni campione
    # dal centro del cluster più vicino
    clusterErrors.append(km.inertia_)
    #Calcoliamo i centri del cluster e
    # prediciamo l'indice del cluster per ogni campione
    y_predict = km.fit_predict(X)
    #Assegniamo le coordinate dei centri dei cluster (i centroidi)
    centroids = km.cluster_centers_
    #Prevediamo il cluster più vicino a cui appartiene ogni campione presente in X
    label = km.predict(X)
    #Stampiamo il Silhouette Score
    print(f'Silhouette Score(n={i}): {silhouette_score(X,label)}')
