Алгоритм классификации методом поиска ближайших соседей - самый простой и понятный алгоритм, с которого начинается познание азов машинного обучения. Но модификации этого простого алгоритма могут потребовать нетривиального подхода к решению задачи. В этой статье я описал реализацию классификатора, использующего алгоритм поиска ближайших соседей под названием Ball Tree. И как же написать его на Python?
Довольно часто программисты и специалисты из области data science сталкиваются с задачей поиска похожих профилей пользователей или подбора схожей музыки. Решения могут сводиться к преобразованию объектов в векторную форму и поиску ближайших. Мы тоже столкнулись с необходимостью…
Привет, Хабр! В этой статье мы рассмотрим один из подходов к офлайновому A/B-тестированию, поговорим о сложностях, которые возникают при оценке результатов пилотного проекта (далее — пилота) и разберём реализацию в коде. Читать далее
Недавно мне довелось работать над новым алгоритмом приближённого поиска ближайших соседей, который называется RaBitQ. Автор этого алгоритма уже предоставил достаточно скоростную реализацию на C++. Я попытался переписать этот алгоритм на Rust (ещё один случай «а почему бы не переписать на Rust»). Однако, я обнаружил, что моя реализация гораздо медленнее оригинальной. Далее я расскажу, как шаг за шагом доработал её производительность. Читать далее