Как я могу построить K-средних кластеров из панд? - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь объединить данные о продажах продукции различных компаний.Обратите внимание, что я сопоставил любые строки в моих столбцах с числовыми значениями, чтобы я мог использовать кластеризацию k-средних.У меня есть следующий код, где я делаю k-means на моих данных

FeaturesDf=FeaturesDf[['company_value','Date_value','product_value']]
# Convert DataFrame to matrix
mat = FeaturesDf.values
#Using sklearn
km = sklearn.cluster.KMeans(n_clusters=5)
km.fit(mat)
# Get cluster assignment labels
labels = km.labels_
# Format results as a DataFrame
results = pd.DataFrame(data=labels, columns=['cluster'], index=orderFeaturesDf.index)

Как мне построить график кластеризации k-средних этого?Я пытался

plt.scatter(results.index,results['cluster'], c='black')
plt.plot(results)

, но есть ли лучший способ сделать это?

1 Ответ

2 голосов
/ 07 марта 2019

То же самое, что и вы, но вы можете вызвать plot.scatter на самом DataFrame:

from sklearn.cluster import KMeans

n = 1000
d = pd.DataFrame({
        'x': np.random.randint(0,100,n),
        'y': np.random.randint(0,100,n),
    })

m = KMeans(5)
m.fit(d)

d['cl'] = m.labels_
d.plot.scatter('x', 'y', c='cl', colormap='gist_rainbow')

Вывод:

enter image description here

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