Каков наилучший алгоритм для кластеризации этих данных? - PullRequest
1 голос
/ 21 октября 2019

enter image description here

Может кто-нибудь помочь мне найти хороший алгоритм кластеризации, который будет кластеризовать его в 3 кластера без определения количества кластеров.

У меня естьперепробовал много алгоритмов в своей базовой форме ... кажется, что ничего не работает должным образом.

clustering = AgglomerativeClustering().fit(temp)

так же, как я пробовал dbscan и kmeans тоже ... просто использовал рекомендации из sklean. я не мог получить ожидаемые результаты.

мой исходный набор данных представляет собой одномерный список чисел ... но порядок чисел имеет значение, поэтому сгенерировал двухмерный список, как показано ниже.

temp = []
for i in range(len(avgs)):
    temp.append([avgs[i], i+1])
clustering = AgglomerativeClustering().fit(temp)

при составлении графика пилотирования я использовал симулятордиапазон как ось y

ax2.scatter(range(len(plots[i])), plots[i], c=np.random.rand(3,))

порядок данных имеет значение, так что это нужно кластеризовать в 3. и могут быть некоторые другие наборы данных, которые данные очень хороши, так что результат этой потребностибыть только одним кластером.

Ссылка на список, если кто-то хочет попробовать

, поэтому я попытался использовать обнаружение шагов и получил следующее изображение в соответствии с вашим ответом. но как я могу найти значения пиков ... если я получу максимальное значение, я могу получить один из них ... но как получить остальное ... второй максимум не является ответом, потому что один рядом сmax - это второе max

enter image description here

1 Ответ

1 голос
/ 22 октября 2019

Ваши данные не 2d координаты . Так что не выбирайте алгоритм, разработанный для этого!

Вместо этого ваши данные кажутся последовательными или временными рядами.

То, что вы хотите использовать, - это обнаружение точки изменения Алгоритм, способный обнаружить изменение среднего значения ряда.

Простым подходом будет вычисление суммы следующих 10 баллов минус сумма предыдущих 10 баллов, а затем поиск экстремальных значенийэта кривая.

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