K Значения в Python центроидах не в правильном положении, как мне их «отшить»? - PullRequest
0 голосов
/ 11 января 2020

У меня есть небольшой скрипт для запуска в блокноте Jupyter. Кажется, Kmeans работает правильно, но мои центроиды уменьшены. Как мне заставить их правильно отображаться на моем графике? Мои x и y находятся в диапазоне от 0 до 500 с каждой стороны.

from pandas import DataFrame
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.preprocessing import scale
import pandas as pd

plt.figure(figsize=(8, 6))
df = pd.read_csv("sales-by-week-4.csv")
df2 = DataFrame(df,columns=["Average Sale Price", "Average Weekly"])
plt.figure(figsize=(8, 6))
kmeans = KMeans(n_clusters=5).fit(scale(df2))
centroids = kmeans.cluster_centers_
print(centroids)

plt.scatter(df2["Average Weekly"], df2["Average Sale Price"], c= kmeans.labels_.astype(float), s=50, alpha=0.5)
plt.scatter(centroids[:, 0], centroids[:, 1], c='red', s=50)

Вот мой отпечаток центроида.

[[ 2.65044538 -0.37653707]
 [-0.64002758 -0.25885017]
 [-0.39559393  5.26965425]
 [ 0.91316601 -0.29410492]
 [-0.5276885   0.8949181 ]]

1 Ответ

0 голосов
/ 11 января 2020

Вы установили KMeans на масштабированном кадре данных. Попробуйте установить на df2 только

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...