Мои кластеры kmeans, похоже, не работают хорошо - PullRequest
0 голосов
/ 16 января 2020

У меня есть датафрейм 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 процесс кластеризации не сделал ' Хорошая работа по разделению пользователей с разными атрибутами на разные кластеры. Что-то не так или отсутствует в процессе, который я описал?

...