#python #dataset #data-science #cluster-analysis
#python #набор данных #наука о данных #кластерный анализ
Вопрос:
Мой набор данных содержит столбцы, описывающие способности определенных символов, заполненные True/False
значениями. Пустых значений нет. Моя конечная цель — создавать группы символов со схожими способностями. И вот вопрос:
- Должен ли я изменить
True/False
значения на1
и0
? Или в этом нет необходимости? - Какую модель кластеризации я должен использовать? Подходит ли KMeans для этого?
- Как мне интерпретировать результаты (выходные данные)? Могу ли я это визуализировать?
Дело в том, что я всегда вижу, как люди выполняют кластеризацию для числовых наборов данных, которые вы можете визуализировать, и это выглядит намного проще. С True/False
я просто даже не знаю, как к этому подойти.
Спасибо.
Ответ №1:
- В общем случае нет необходимости изменять True / False на 0/1. Это необходимо только в том случае, если вы хотите применить определенный алгоритм для кластеризации, который не может обрабатывать логические входные данные, такие как K-means .
- K-means не является предпочтительным вариантом. K-means требует непрерывных функций в качестве входных данных, поскольку он основан на вычислительных расстояниях, как и многие алгоритмы кластеризации. Итак, никаких логических входных данных. И хотя двоичный ввод (0-1) работает, он не вычисляет расстояния очень значимым образом (многие точки будут иметь одинаковое расстояние друг от друга). В случае только данных 0-1 я бы не стал использовать кластеризацию, но рекомендовал бы табулировать данные и посмотреть, какие ячейки встречаются часто. Если у вас большой набор данных, вы можете использовать алгоритм Apriori для поиска часто встречающихся ячеек.
- В общем случае алгоритм кластеризации обычно возвращает номер кластера для каждого наблюдения. В малых измерениях это число часто используется для придания цвета наблюдению на точечной диаграмме. Однако в вашем случае логических значений я бы просто перечислил наиболее часто встречающиеся ячейки.