Следующее упражнение проведет вас через процесс создания меры сходства вручную.
Представьте, что у вас есть простой набор данных о домах:
Особенность | Тип |
---|---|
Цена | Положительное число |
Размер | Положительное значение с плавающей запятой в квадратных метрах |
Почтовый Код | Целое число |
Количество спален | Целое число |
Тип дома | Текстовое значение из «single_family», «multi-family», «квартира», «квартира». |
Гараж | 0/1 для нет/да |
Цвета | Многовалентный категориальный: одно или несколько значений стандартных цветов «белый», «желтый», «зеленый» и т. д. |
Предварительная обработка
Первым шагом является предварительная обработка числовых характеристик: цена, размер, количество спален и почтовый индекс. Для каждой из этих функций вам придется выполнять разные операции. Например, в этом случае предположим, что данные о ценах следуют бимодальному распределению. Что делать дальше?
В поле ниже попробуйте объяснить, как вы будете обрабатывать данные о размерах.
В поле ниже попробуйте объяснить, как бы вы обрабатывали данные о количестве спален.
Как вы должны представлять почтовые индексы? Преобразование почтовых индексов в долготу и широту. Затем обработайте эти значения так же, как и другие числовые значения.
Вычисление сходства по признаку
Теперь пришло время рассчитать сходство по признаку. Для числовых функций вы просто находите разницу. Для двоичных признаков, таких как наличие у дома гаража, вы также можете найти разницу, чтобы получить 0 или 1. Но как насчет категориальных признаков? Ответьте на вопросы ниже, чтобы узнать.
Вычисление общего сходства
Вы численно рассчитали сходство для каждого признака. Но алгоритм кластеризации требует общего сходства с кластерными домами. Рассчитайте общее сходство между парой домов, объединив сходство по каждому признаку с использованием среднеквадратичной ошибки (RMSE). То есть, где\(s_1,s_2,\ldots,s_N\) представляет сходство функций \(N\) :
\[\text{RMSE} = \sqrt{\frac{s_1^2+s_2^2+\ldots+s_N^2}{N}}\]
Ограничения измерения сходства вручную
Как показало это упражнение, когда данные становятся сложными, становится все труднее обрабатывать и комбинировать данные для точного измерения сходства семантически значимым способом. Рассмотрим данные о цвете. Должен ли цвет действительно быть категоричным? Или мы должны определить, что такие цвета, как красный и темно-бордовый, имеют большее сходство, чем черный и белый? А что касается объединения данных, мы просто взвесили стоимость гаража наравне с ценой дома. Однако цена дома гораздо важнее наличия гаража. Есть ли смысл взвешивать их одинаково?
Если вы создадите меру сходства, которая на самом деле не отражает сходства между примерами, ваши производные кластеры не будут иметь смысла. Это часто бывает с категориальными данными и приводит нас к контролируемому показателю.