Кластеризация в python без количества кластеров или порога

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

Не могли бы вы предложить мне наиболее близкое решение моей проблемы?

Существуют алгоритмы кластеризации, которые могут определять количество кластеров за вас (например, генетическая кластеризация). Но если вы новичок, вы можете начать с иерархической кластеризации, которая объединяет данные во вложенные кластеры. После этого вы можете обрезать кластеры, чтобы оставить только большие значимые.

Abdulrahman Bres 27.03.2018 06:25
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
144
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Почему бы не закодировать свой алгоритм для создания списка кластеров размером от 1 до n (который может быть определен в файле конфигурации, чтобы вы могли избежать жесткого кодирования и просто исправить его один раз).

Как только это будет сделано, вычислите кластеры размером от 1 до n. Выберите значение, которое дает наименьшую среднеквадратическую ошибку.

Это потребует от вашего компьютера некоторой дополнительной работы, чтобы определить оптимальное количество логических групп, на которые могут быть разделены данные (в пределах от 1 до n).

Кластеризация - это исследовательский метод.

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

Никогда не будет общепринятой техники без параметров. В лучшем случае некоторые параметры будут иметь значения по умолчанию или эвристики (например, евклидово расстояние, например, стандартизация входных данных перед кластеризацией, например, статистика разрыва для выбора k), что может дать разумное значение первая попытка в 80% случаев. Но после этой первой попытки вам нужно будет понять данные и попробовать другие параметры, чтобы узнать больше о ваших данных.

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

Другие вопросы по теме