У меня есть датафрейм df, который выглядит следующим образом
user_id, user $sales, customer visits
A 1000 20
B 500 10
C 90000 50
... ... ...
Мой код идет сюда, Step1
X= preprocessing.scale(df)
wcss = []
for i in range(1,30):
kmeans = KMeans(n_clusters=i, init='k-means++', max_iter=300, n_init=10, random_state=0)
kmeans.fit(X)
wcss.append(kmeans.inertia_)
plt.plot(range(1,30), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of clusters')
plt.ylabel('WCSS')
plt.show()
вышеупомянутый результат возвращает 4 как оптимальный кластер для меня, Step2
kmeans = KMeans(4, init='k-means++', max_iter=300, n_init=10, random_state=0)
labels = kmeans.fit_predict(X)
X['labels']=pd.Series(labels)
Я сделал краткий обзор 4 пользовательских кластеров и сравнил их общий объем продаж и посещений клиентов с использованием среднего и среднего, но, похоже, между ними нет большой разницы, ie процесс кластеризации не сделал ' Хорошая работа по разделению пользователей с разными атрибутами на разные кластеры. Что-то не так или отсутствует в процессе, который я описал?