Использовать аргумент end
из print
как:
array = ['a', 'b', 'c']
for i in array:
print(i, end='')
Если я правильно помню, алгоритм COBWEB может работать с дискретными атрибутами.
И вы также можете делать различные «трюки» с дискретными атрибутами для создания значимых метрик расстояния.
Вы можете использовать Google для кластеризации категориальных / дискретных атрибутов, один из первых хитов: ROCK: надежный алгоритм кластеризации для категориальных атрибутов .
R - отличный инструмент для кластеризации - стандартный подход заключался бы в вычислении матрицы несходства для смешанных данных с использованием гирляндной
, а затем кластеризации с этой матрицей с использованием agnes
.
Модуль cba
на CRAN включает функцию кластеризации по двоичным предикторам на основе ROCK.
Также можно рассмотреть распространение аффинности как возможное решение. Но чтобы преодолеть непрерывную / дискретную дилемму, вам нужно определить функцию, которая оценивает дискретные состояния.
Я бы фактически представил пользователям пары дискретных атрибутов и попросил их определить их близость. Вы бы представили их шкалой от [синоним .. очень иностранный] или аналогичной. Если это сделают многие люди, вы получите широко принятую функцию близости для значений нелинейных атрибутов.