jupiter notebook problem z klastrami

0

Cześć, mam problem. Po zaimportowaniu danych( data) chciałem podzielić je przy pomocy k-średnich. W celu znalezienia optymalnego K zastosowałem metryke calinski_harabasz, lecz wychodzi mi, że optymalne K to 70 000 tyś. Jak myślicie gdzie tkwi problem. Na początku przygotowałem dane, usunąłem przecinki i przygotowałem na format liczbowy (dane były w pliku csv).

0

screenshot-20190606194526.png

0
quantity=[]
celinsky=[]

for i in range(2,40):
    clasters = KMeans(n_clusters=i)
    quantity.append(i)
    clasters.fit(data)
    labels = clasters.labels_
    celinsky.append(metrics.calinski_harabasz_score(data, labels))


plt.subplot(2, 1, 1)
plt.plot(quantity, celinsky, '-', lw=2)
0

2 pierwsze kolumny też zostały odrzucone

0

K średnie operują na różnicy odległości między N-wymiarowymi punktami. Może warto dane znormalizowac przed zaaplikowaniem algorytmu? Populacja ma duże wartości bezwzględne, które mogą zabijać różnice na dalszych pozycjach wektorów wejściowych.

Nie wiem jak wygląda wspomniana metryka i implementacja k-means w pythonie, wiec sugestia o normalizacji może być nieistotna, bo np. Implementacja o to dba...

0

Jakie wymiary ma macierz danych, którą wrzucasz w pętlę for? Dodatkowo, czy chcesz wyliczyć K indywidualnie dla każdej kolumny?

1 użytkowników online, w tym zalogowanych: 0, gości: 1