/ / Ефективно групувати подібні цифри разом [дублікат] - алгоритм, математика, агностика мов, статистика, кластерний аналіз

Ефективне групування подібних чисел разом [дублікат] - алгоритм, математика, агностика мови, статистика, кластерний аналіз

Можливі дублікати:
Кластеризація масивів 1D

У мене є масив чисел, як [1, 20, 300, 45, 5, 60, 10, 270, 3]. Що таке ефективний алгоритм групування цих чисел разом на основі близькості? У цьому випадку я очікую щось подібне [1, 3, 5], [20, 45, 60] і [270, 300].

Відповіді:

2 для відповіді № 1

Найважча частина того, що ви задаєте, - це визначення фактичної близькості. Що б ви очікували від вихідного [5,10,15,20]? Це буде точно так само, як і для групи [500,1000,1500,2000]?

А як на рахунок [1,2,3,5,7,8,9]? Чи повинна бути одна група або три? (або два?).
А як на рахунок [1,2,3,5,7,8,9,1075,4000]? Чи 1075 і 4000 згруповані разом? Чи зменшуються групування менших чисел у більшій кількості у зразку?

Це питання є щось задане цілим полем машинного навчання: Кластерний аналіз Можливо це пов'язане питання допоможе?

Я думаю, що ти хочеш K-засоби кластеризації (з належним чином пов'язаним з відповідним питанням), але ви повинні знати, скільки груп ви хочете розділити ваші дані, щоб використовувати його.


2 для відповіді № 2

Це може бути величезним перебільшенням, але ви можете розглянути це ієрархічні алгоритми кластеризації. Ці алгоритми об'єднують значення в aІєрархія, з якої можна легко витягнути найкращі кластери k. Агломераційні кластери - це, мабуть, найпростіший з цих підходів для реалізації, і з досвіду він має тенденцію створювати дуже хороші кластери.

Сподіваюся, це допомагає!