Chciałbym utworzyć tabelę z wartościami takimi jak średnia, min, max, odch. std. dla każdej grupy skupień obliczonych metodą k-średnich . Czy poniższy kod jest poprawny? Ponieważ uzyskane wartości (średnia dla wieku i BMI oraz liczba kardio = 0) w python różnią się od tych uzyskanych tą samą metodą dla tych samych danych w programie Statistica ( na załączonym zdjęciu są wyniki).
Jeżeli ktoś by chciał sprawdzić to w załącznikach jest też baza z któej korzystam :)
dataset = pd.read_csv("C:/Users/../cardio_train_py.csv", sep=';')
clusterDB_1 = dataset[['Age','BMI','cardio']].copy()
kmeans = KMeans(n_clusters=8).fit(clusterDB_1)
X=[0,1,2,3,4,5,6,7]
print('Age mean() for each cluster')
for x in X:
check = clusterDB_1[kmeans.labels_ == x]
print(check['Age'].mean())
print('BMI mean() for each cluster')
for x in X:
check = clusterDB_1[kmeans.labels_ == x]
print(check['BMI'].mean())
print('cardio == 0 count() for each cluster')
for x in X:
check = clusterDB_1[kmeans.labels_ == x]
print(len(check[check['cardio'] == 1]))
Wyniki w Pythonie:
24.468587736260996
24.047855933307282
30.548865468674116
31.98410463004993
32.89129084635681
166.57357142857146
41.97845737483085
24.16813400017246
Dzięki za wszelką pomoc :)