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. Аналитика: превращаем новость в обоснование

Не пересказывайте пресс-релиз. Возьмите из статьи три факта — «сравнение по пробегу», «сравнение по ДТП», «по похожим авто на рынке» — и превратите каждый в подраздел анализа: что такое нормализованный пробег, почему ДТП — категориальный признак с высоким весом, как строится выборка аналогов по году и комплектации. Здесь уместно построить 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.75scikit-learn
NDCG@10Качество ранжирования аналогов≥ 0.70ranx / собственная реализация
p95 latencyВремя отклика API под нагрузкой≤ 200 мсk6 / Locust
CoverageДоля запросов, для которых найден аналог≥ 0.95Prometheus-метрика
Uptime SLOДоступность сервиса99.5%Grafana

Чек-лист «Что проверить перед сдачей»

  1. Задачи во введении дословно совпадают с выводами по главам.
  2. Все схемы подписаны и пронумерованы по ГОСТ 19.701 или ГОСТ 34.201.
  3. Датасет и seed зафиксированы, ссылка на источник данных есть в приложении.
  4. Метрики поддомена посчитаны на отложенной выборке, а не на train.
  5. Код в приложении запускается по инструкции из README (проверьте на «чистой» машине).
  6. Антиплагиат: оригинальность ≥ 75%, ссылка на публикацию CNews от 24.03.2026 корректна.
  7. Оформление титула, содержания, списка литературы — по методичке вуза, а не «на глаз».

Типичные ошибки студентов

1. Пересказ статьи вместо анализа. «Автотека сделала сравнение, значит это надо повторить» — это не обоснование актуальности. Разберите, какие признаки участвуют в сравнении, почему пробег и ДТП — самые значимые, и как вы это проверяете статистически.

2. Оценка модели на тех же данных, где обучали. Классика: Precision@10 = 0.98 на train и тишина на val. Обязательно hold-out или k-fold, иначе на защите разнесут.

3. Игнорирование системных метрик. Диплом по ML без latency и оценки стоимости инференса выглядит как учебная тетрадка. Один k6-тест в главе 3 добавляет вес всей работе.

Если времени на самостоятельную проработку не хватает — с нами можно обсудить помощь с дипломом или заказать диплом по вашей теме: разложим план, подскажем с датасетом и метриками. Первая консультация бесплатная — 30 минут разбора вашего ТЗ. Средний срок сопровождения — 120 часов работы, включая правки после замечаний научрука.

Материал подготовлен экспертами компании Diplom-Tech. Мы помогаем студентам с 2010 года: от выбора темы и составления плана до нормоконтроля и предзащитной репетиции. Если вам нужна помощь в разработке темы или оформлении работы — наши специалисты готовы подсказать и разобрать слабые места вашей ВКР.

Последнее обновление: 2026-09-15

Источник: «Автотека» сравнит выбранный автомобиль по пробегу и ДТП с похожими машинами на рынке (опубликовано 2026-03-24)