построить кластеры k-средних разреженной матрицы - PullRequest
0 голосов
/ 09 июля 2020

У меня есть сценарий python, который выполняет кластеризацию по файлу данных в формате svmlight. Я использую функцию sklearn.datasets.load_svmlight_file для загрузки данных из файла данных. Я знаю, что эта функция возвращает разреженную матрицу. Мне нужно разбросать график кластеров, может ли кто-нибудь мне помочь. Вот что я сделал:

import sklearn.datasets
import sys
from sklearn.cluster import KMeans
dataFilename = sys.argv[1]
X, y = sklearn.datasets.load_svmlight_file(dataFilename)
kmeans = KMeans(n_clusters = 3)
kmeans.fit(X)
labels = kmeans.labels_
print(labels)
centroids = kmeans.cluster_centers_
                                   

1 Ответ

0 голосов
/ 09 июля 2020

Не имея набора данных, я бы предложил следующее:

  • Поскольку load_svmlight_file() возвращает разреженную матрицу, превращает X в массив NumPy, используя samples = X.toarray() перед подгонкой модели.

  • Постройте две характеристики (например) набора данных, используя: plt.scatter(samples[:,0], samples[:,1], c=labels). Это окрашивает кластеры в соответствии с их предсказанными метками.

  • Затем введите plt.scatter(centroids[:,0], centroids[:,1], marker='D'), чтобы увидеть расположение центроидов с ромбами.

Обратите внимание, что , что samples[:,n] представляет собой массив, содержащий примерные значения для n th функции набора данных.

Надеюсь, это поможет. Если нет, дайте мне знать.

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