Как можно определить, насколько схожи две комплектации автомобиля?

Как можно представить категориальные данные, такие как тип кузова автомобиля (седан, кроссовер, купе и т. д.), численно для расчета косинусной схожести между векторами в датасете комплектаций автомобилей?
  • 30 июля 2024 г. 11:33
Ответы на вопрос 4
Для определения степени сходства двух комплектаций автомобиля можно использовать косинусную схожесть. Для этого необходимо представить категориальные данные, такие как тип кузова автомобиля, в виде численных векторов.

Пример представления типа кузова автомобиля в виде численных векторов:
- Седан: [1, 0, 0, 0]
- Кроссовер: [0, 1, 0, 0]
- Купе: [0, 0, 1, 0]

Затем для каждой комплектации автомобиля создается числовой вектор, в котором каждый элемент соответствует количеству автомобилей данного типа кузова. 

Далее вычисляется косинусное расстояние между векторами двух комплектаций. Это позволит определить степень сходства между ними. Чем ближе значение косинуса к 1, тем больше сходство между комплектациями автомобиля. 

Такой метод позволяет численно измерить сходство между категориальными данными и использовать его для сравнения комплектаций автомобилей.
Я предполагал представить каждую запись в датасете как вектор, и посчитать косинусную схожесть между векторами.

Косинусная здесь не подходит. Косинус учитывает вес каждого параметра . Например слова "шалаш" и "кабан"
содержат по 2 буквы "а" и это делает возможным введение косинусной метрики для дистанции двух слов.

У тебя автомобили содержат просто булевы признаки. Например тип_двигателя_дизель = true.
И сравнивать тебе выгоднее просто векторы такого вида { 1.0, 0.0, 1.0, 0.0 .... },
Тут дистанция хемминга была бы проще и вернее.

По поводу объема двигателя и года выпуска - решай сам. Но при численном сравнении
у тебя возникнет дилемма крокодила. Типа крокодил более зеленый чем плоский ? Или наоборот.
Грубо говоря какой из параметров будет иметь БОЛЬШИЙ вес в при операциях сравнения.
Мне как видится тут следует искать совпадения. Ну. т.е.  если полное совпадение считается как похожее. Тогда мы можем сказать что комплектация у которой не совпадает 1 параметр чуть менее  похожа, 2 параметра еще менее похожа. И так до полностью не похожей.
Нужно ввести метрики расстояния на каждую категорию (ID опускаем). 
Признаки могут быть количественными и категориальными.
Код двигателя нужно расшифровать на несколько отдельных категорий и для каждой в отдельности также составить метрику расстояния.
Чем меньше совокупность расстояний, тем ближе к эталонной модели.
Похожие вопросы