Ich versuche die Anzahl der K in Kmeans mit Elbow und BIC Methoden zu schätzen. X ist multidimensionales Array von Datenpunkten (100000 Datenpunkte X 100 Funktionen)
Hier ist der Code, den ich verwende Ellenbogen:Metriken zur Schätzung K in Kmeans
Ks = [40,50,60,70,80,90,100,110,120]
ds = []
for K in Ks:
cls = MiniBatchKMeans(K, batch_size =1000, random_state = 101)
for i in xrange(0, len(X), 1000):
chunk = newvec[i:i + 1000]
cls.partial_fit(chunk)
ds.append(cls.inertia_)
plt.plot(Ks, ds)
plt.xlabel('Value of K')
plt.ylabel('Distortion')
plt.show()
der Code, den ich für BIC verwenden wird von hier by Prabhath Nanisetty
kommendenhier sind Plots ich erhalte jede dieser Methoden verwenden:
Was ist der richtige K-Wert? Sind das die richtigen Metriken, die basierend auf diesen Ergebnissen für mein Dataset verwendet werden? Danke dir.