Как исправить ошибку при попытке кластеризовать 2 строки в CSV-файле - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь научиться кластеризовать простой набор данных.'suns.csv' - это CSV, который имеет всего 2 столбца данных, и мне нравится делать модель кластеризации через python и пакет pyclustering. Приведенный ниже код выдает ошибку 'KeyError: 0'

import pyclustering
import pandas as pd
# Read data 'SampleSimple3' from Simple Sample collection.
# sample = read_sample(SIMPLE_SAMPLES.SAMPLE_SIMPLE3)
sample = pd.read_csv('suns.csv')

kmedoids_instance = kmedoids(sample, [8, 23, 36, 50])
kmedoids_instance.process()

clusters = kmedoids_instance.get_clusters()
medoids = kmedoids_instance.get_medoids()

for i in range(len(clusters)):
    medoid_point = sample[medoids[i]]

    clusters[i] = sorted(clusters[i], key=lambda index: metric.euclidean_distance(medoid_point, sample[index]))
    print(clusters[i])
    print("\n")

Я хотел бы, чтобы модель создала свои собственные группы кластеризации, и я хотел бы построить модель

1 Ответ

0 голосов
/ 30 сентября 2019

pd.read_csv('suns.csv') возвращает DataFrame или TextParser.Вы должны преобразовать его в список точек, представленных встроенными list или numpy.array, что-то вроде [[1.0, 2.3], [1.3, 2.4], ...].

...