k-Ближайшие соседи, где каждая точка - это свой класс
Я пытаюсь сделать рекомендацию на основе сходства объектов, где мои точки в пространстве объектов представляют уникальные классы. По сути, у меня есть сотни уникальных элементов, представленных как низкоразмерные векторы признаков, и я хочу найти k- ближайших соседей в порядке ранжирования для нового наблюдения.
Традиционно вы находите k соседей и выбираете класс с большинством представлений в нем. В моем случае это не сработает, учитывая, что у каждого предмета есть свой класс.
KNN неправильный подход здесь? Существует ли другое семейство алгоритмов, более подходящее для такого рода проблем?
2 ответа
Похоже, вы хотите создать рекомендательную систему, в которой вы рекомендуете новые продукты на основе уже приобретенного продукта. Это не проблема классификации, поэтому вы не должны относиться к ней как к таковой.
Какой метод использовать на самом деле, зависит от более подробной информации о ваших данных, количестве, представлении функций и других проблемах. Рекомендательные системы часто являются более сложной проблемой, чем их простая классификация с более тонкими вопросами. Этот курс может быть более полезным для вас.
Является ли kNN правильным подходом, сводится к тому, хорошо ли ваши классы характеризуются метрикой расстояния в вашем пространстве признаков. Нет ничего плохого в том, что вы предлагаете. Вы можете просто связать уникальный класс с каждым обучающим наблюдением, а затем применить kNN с k = 1
,