ML-система сравнения автомобилей в ВКР: метрики похожести, архитектура и защищаемые выводы
Введение
24 марта 2026 года «Автотека» запустила функционал, который сравнивает выбранный автомобиль по пробегу и числу ДТП с похожими машинами на рынке. Если отбросить маркетинг — это классическая задача similarity search поверх табличных признаков: пробег, история аварий, число владельцев, годы эксплуатации, цена. Ровно та же математика лежит в основе десятков дипломных проектов — от рекомендаций товаров до подбора недвижимости.
Для выпускника ИТ-специальности это шанс превратить «скучный» кейс в защищаемую ВКР с измеримыми метриками. Не «я написал сайт», а «я спроектировал и оценил рекомендательную систему с NDCG@10 = 0.78 на отложенной выборке». Разница в оценке комиссии — принципиальная. Ниже — как это собрать.
FAQ: что студенты спрашивают чаще всего
Где взять датасет по подержанным авто, если нет доступа к коммерческим API?
Три рабочих источника: открытые выгрузки объявлений (Avito/Kolesa-подобные датасеты на Kaggle и Hugging Face), синтетические данные, сгенерированные на основе распределений из статьи-первоисточника, и агрегация публичных отчётов «Автотеки»/«ПроАвто». Для диплома важен не объём (хватит 50–100 тыс. записей), а воспроизводимость: зафиксируйте seed и версию датасета через DVC.
Коллаборативная фильтрация или контентная модель — что защищать?
В вашем кейсе — контентная, потому что «похожесть» задаётся явными признаками автомобиля, а не историей кликов пользователя. Коллаборативную можно добавить как второй слой (hybrid) и сравнить в главе 3. Hybrid-подход обычно даёт +5–12% к Precision@K и выглядит убедительно на защите.
Как считать эффективность, если бизнес-метрик нет?
Разложите на три уровня: офлайн-метрики (Precision@K, Recall@K, NDCG, MAP), онлайн-метрики (CTR, доля кликов по «похожим авто»), и системные (p95 latency ≤ 200 мс, стоимость инференса). Для защиты хватит офлайн + расчёт latency через нагрузочный тест k6 или Locust.
Нужен ли Kubernetes в дипломе ML-направления?
Не обязателен. Если бюджет времени ограничен — Docker Compose + GitHub Actions уже закрывают требования к «промышленной эксплуатации». Kubernetes оправдан, только когда в работе есть отдельная глава про масштабирование, а вы готовы описать HPA, ресурсы и probes.
Темы ВКР, которые вытекают из кейса «Автотеки»
-
Тема 1. Разработка ML-сервиса подбора похожих автомобилей по техническим и юридическим признакам
Актуальность: напрямую отсылает к запуску функционала «Автотеки» 24.03.2026 и закрывает разрыв между объявлениями, где нет единой нормализованной истории.
Цель: построить и оценить модель similarity search, снижающую время подбора аналога до <1 с.
Задачи: 1) EDA и feature engineering по пробегу/ДТП; 2) выбор метрики расстояния и обучение kNN/FAISS; 3) REST API на FastAPI; 4) офлайн-оценка Precision@K и NDCG.
Структура: гл.1 — анализ рынка и существующих решений; гл.2 — проектирование (C4, UML-диаграмма классов, схема БД); гл.3 — тестирование модели и нагрузочное тестирование.
-
Тема 2. Сравнительный анализ методов оценки схожести объектов в табличных данных на примере автомобильного рынка
Актуальность: в исходной статье фактически сравниваются «похожие машины» — то есть решается задача метрики близости, а выбор этой метрики определяет качество.
Цель: эмпирически сравнить cosine, Euclidean, Mahalanobis и Gower-расстояния на подготовленном датасете.
Задачи: 1) формализовать признаки; 2) реализовать пайплайн через scikit-learn; 3) зафиксировать протокол эксперимента (k-fold); 4) оформить таблицу метрик по ISO/IEC 25010.
Структура: гл.1 — теория метрик и обзор литературы; гл.2 — реализация и MLflow-трекинг; гл.3 — статистическая проверка различий (Wilcoxon).
-
Тема 3. Проектирование микросервисной архитектуры рекомендательного сервиса с наблюдаемостью
Актуальность: «Автотека» работает под высокой нагрузкой; для ВКР это оправдание ввести SLO и OpenTelemetry.
Цель: спроектировать отказоустойчивый сервис с покрытием трассировкой и метриками.
Задачи: 1) C4-диаграмма (Context/Container); 2) схема взаимодействия сервисов через Kafka; 3) развёртывание в Docker Compose; 4) сбор метрик через Prometheus + Grafana.
Структура: гл.1 — анализ архитектурных паттернов; гл.2 — проектирование по ГОСТ 34.601; гл.3 — тестирование отказоустойчивости.
Как встроить материал статьи в главы ВКР
Глава 1. Аналитика: превращаем новость в обоснование
Не пересказывайте пресс-релиз. Возьмите из статьи три факта — «сравнение по пробегу», «сравнение по ДТП», «по похожим авто на рынке» — и превратите каждый в подраздел анализа: что такое нормализованный пробег, почему ДТП — категориальный признак с высоким весом, как строится выборка аналогов по году и комплектации. Здесь уместно построить UML use case «Пользователь ищет аналог» и BPMN «Процесс подбора объявления».
Глава 2. Проектирование: признаки, модель, API
Ядро второй главы — конвейер «данные → признаки → модель → API». Минимальный пример пайплайна поиска ближайших соседей:
import pandas as pd
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.compose import ColumnTransformer
from sklearn.neighbors import NearestNeighbors
import mlflow
df = pd.read_parquet("cars_2026.parquet")
num = ["mileage_km", "accidents_cnt", "owners_cnt", "year", "price"]
cat = ["brand", "model", "body_type"]
pre = ColumnTransformer([
("num", StandardScaler(), num),
("cat", OneHotEncoder(handle_unknown="ignore"), cat),
])
X = pre.fit_transform(df)
with mlflow.start_run():
model = NearestNeighbors(n_neighbors=10, metric="cosine").fit(X)
dist, idx = model.kneighbors(X[:1])
mlflow.log_metric("avg_cosine_dist", float(dist.mean()))
Дальше — Elasticsearch с kNN-поиском или FAISS, если датасет вырастет. В тексте главы обязательно опишите, почему выбран именно cosine: признаки разнородны, after-scaling важна косинусная близость направления, а не абсолютные величины.
Архитектура (C4, уровень контейнеров, текстом)
[Client Web/Mobile]
|
v
[API Gateway : FastAPI] -- (OpenTelemetry) --> [Jaeger]
|
+--> [Similarity Service] --> [FAISS/Elasticsearch kNN]
| |
| v
+--> [Feature Store] <----- [PostgreSQL / ClickHouse]
|
+--> [Kafka] --> [ETL-обновление датасета каждые 6 ч]
Глава 3. Оценка: метрики поддомена
| Метрика | Что измеряет | Целевое значение | Инструмент |
|---|---|---|---|
| Precision@10 | Доля релевантных в топ-10 аналогов | ≥ 0.75 | scikit-learn |
| NDCG@10 | Качество ранжирования аналогов | ≥ 0.70 | ranx / собственная реализация |
| p95 latency | Время отклика API под нагрузкой | ≤ 200 мс | k6 / Locust |
| Coverage | Доля запросов, для которых найден аналог | ≥ 0.95 | Prometheus-метрика |
| Uptime SLO | Доступность сервиса | 99.5% | Grafana |
Чек-лист «Что проверить перед сдачей»
- Задачи во введении дословно совпадают с выводами по главам.
- Все схемы подписаны и пронумерованы по ГОСТ 19.701 или ГОСТ 34.201.
- Датасет и seed зафиксированы, ссылка на источник данных есть в приложении.
- Метрики поддомена посчитаны на отложенной выборке, а не на train.
- Код в приложении запускается по инструкции из README (проверьте на «чистой» машине).
- Антиплагиат: оригинальность ≥ 75%, ссылка на публикацию CNews от 24.03.2026 корректна.
- Оформление титула, содержания, списка литературы — по методичке вуза, а не «на глаз».
Типичные ошибки студентов
1. Пересказ статьи вместо анализа. «Автотека сделала сравнение, значит это надо повторить» — это не обоснование актуальности. Разберите, какие признаки участвуют в сравнении, почему пробег и ДТП — самые значимые, и как вы это проверяете статистически.
2. Оценка модели на тех же данных, где обучали. Классика: Precision@10 = 0.98 на train и тишина на val. Обязательно hold-out или k-fold, иначе на защите разнесут.
3. Игнорирование системных метрик. Диплом по ML без latency и оценки стоимости инференса выглядит как учебная тетрадка. Один k6-тест в главе 3 добавляет вес всей работе.
Если времени на самостоятельную проработку не хватает — с нами можно обсудить помощь с дипломом или заказать диплом по вашей теме: разложим план, подскажем с датасетом и метриками. Первая консультация бесплатная — 30 минут разбора вашего ТЗ. Средний срок сопровождения — 120 часов работы, включая правки после замечаний научрука.
Источник: «Автотека» сравнит выбранный автомобиль по пробегу и ДТП с похожими машинами на рынке (опубликовано 2026-03-24)