Упражнение по измерению сходства вручную

Следующее упражнение проведет вас через процесс создания меры сходства вручную.

Представьте, что у вас есть простой набор данных о домах:

Особенность Тип
Цена Положительное число
Размер Положительное значение с плавающей запятой в квадратных метрах
Почтовый Код Целое число
Количество спален Целое число
Тип дома Текстовое значение из «single_family», «multi-family», «квартира», «квартира».
Гараж 0/1 для нет/да
Цвета Многовалентный категориальный: одно или несколько значений стандартных цветов «белый», «желтый», «зеленый» и т. д.

Предварительная обработка

Первым шагом является предварительная обработка числовых характеристик: цена, размер, количество спален и почтовый индекс. Для каждой из этих функций вам придется выполнять разные операции. Например, в этом случае предположим, что данные о ценах следуют бимодальному распределению. Что делать дальше?

Какие действия следует предпринять, если ваши данные следуют бимодальному распределению?
Создайте квантили из данных и масштабируйте до [0,1].
Это правильный шаг, когда данные следуют бимодальному распределению.
Логарифмическое преобразование и масштабирование до [0,1].
На самом деле это шаг, который следует предпринять, когда данные следуют степенному закону распределения.
Нормализация и масштабирование до [0,1].
Это шаг, который вы предпримете, когда данные следуют распределению Гаусса.

В поле ниже попробуйте объяснить, как вы будете обрабатывать данные о размерах.

В поле ниже попробуйте объяснить, как бы вы обрабатывали данные о количестве спален.

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

Вычисление сходства по признаку

Теперь пришло время рассчитать сходство по признаку. Для числовых функций вы просто находите разницу. Для двоичных признаков, таких как наличие у дома гаража, вы также можете найти разницу, чтобы получить 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}}\]

Ограничения измерения сходства вручную

Как показало это упражнение, когда данные становятся сложными, становится все труднее обрабатывать и комбинировать данные для точного измерения сходства семантически значимым способом. Рассмотрим данные о цвете. Должен ли цвет действительно быть категоричным? Или мы должны определить, что такие цвета, как красный и темно-бордовый, имеют большее сходство, чем черный и белый? А что касается объединения данных, мы просто взвесили стоимость гаража наравне с ценой дома. Однако цена дома гораздо важнее наличия гаража. Есть ли смысл взвешивать их одинаково?

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