Отбраковка мошеннических объявлений о продаже квартир
Загрузка данных, разметка по 21 метрике, обучение модели и анализ объявлений
Загрузка данных
📖 Справка — что происходит на этом шаге?
На этом шаге вы загружаете данные — таблицу объявлений о продаже квартир — в базу данных системы. После загрузки данные можно размечать и обучать на них модель.
- Датасет
- Именованный набор данных — таблица объявлений, хранящаяся в БД. Можно создать несколько датасетов (например, «март 2026» и «апрель 2026») и сравнивать результаты обучения на разных данных.
- CSV / TSV — формат файла
- CSV (Comma-Separated Values) — таблица, где столбцы разделены запятой. TSV (Tab-Separated Values) — то же самое, но разделитель — символ табуляции (⇥). Это обычный текстовый файл, который можно открыть в Excel или блокноте.
- Разделитель
- Символ, отделяющий столбцы друг от друга в файле. Выберите «Табуляция» для TSV-файлов и «Запятая» для CSV-файлов. Если выбрать неправильно — все данные загрузятся в один столбец.
- Столбец
is_fraud - Признак мошенничества: 0 — нормальное объявление, 1 — мошенническое. Если в вашем файле этот столбец уже заполнен экспертом — разметку (Шаг 2) можно пропустить и сразу перейти к Шагу 3 «Обучение».
- Статистика датасета
- После загрузки можно посмотреть: сколько строк и столбцов, сколько из них размечено (есть метка
is_fraud), сколько мошеннических. Помогает убедиться, что файл загрузился корректно и данные выглядят ожидаемо.
Датасеты в БД
Загрузить CSV/TSV в выбранный датасет
Выберите датасет выше, затем загрузите файл.
Статистика датасета
Разметка по 21 метрике обнаружения мошенничества
📖 Справка — что происходит на этом шаге?
На этом шаге система автоматически проверяет каждое объявление по 21 правилу и ставит метку: мошенническое (1) или нормальное (0). Это называется синтетической разметкой — автоматической, на основе правил.
- Зачем нужна разметка?
- Модель машинного обучения учится на примерах — нужно показать ей, какие объявления мошеннические. Разметка создаёт эти примеры автоматически, без ручной проверки каждой строки.
- 21 метрика
- Набор из 21 правила разных типов: статистические (аномальная цена), логические (противоречия в описании), поведенческие (подозрительная активность продавца), контентные (ключевые слова мошенничества), временны́е и геолокационные. Каждое сработавшее правило добавляет очки риска — если сумма превышает порог, объявление получает метку «мошенническое».
- Синтетическая разметка vs экспертная
- Синтетическая — быстро, автоматически, но может ошибаться (правила не идеальны). Экспертная — вручную человеком, точнее. Если у вас есть CSV с готовым столбцом
is_fraudот эксперта — используйте его и пропустите этот шаг. - Осторожно: разметка перезапишет метки
- Если датасет уже содержит столбец
is_fraud— запуск разметки заменит все значения новыми, сгенерированными правилами. Экспертные метки будут потеряны.
Если загруженный CSV уже содержит столбец is_fraud с экспертными метками (0 / 1) — запускать разметку не нужно. Перейдите сразу к шагу 3 «Обучение».
Запуск разметки перезапишет экспертные метки синтетическими.
Комплексная разметка (21 метрика)
Система из 21 метрики: статистические, логические, поведенческие, контентные, временные и геолокальные проверки.
Обучение модели
📖 Справка — что происходит на этом шаге?
На этом шаге модель машинного обучения учится отличать мошеннические объявления от нормальных. Перед обучением данные автоматически проходят конвейер предобработки — подготовку, как чистка и нарезка овощей перед готовкой.
- Дубликаты
- Одинаковые строки в таблице — одно и то же объявление, добавленное дважды. Удаляются автоматически, иначе модель считает его «важнее», хотя это просто технический повтор.
- Пропущенные значения
- Пустые ячейки в таблице — данных нет (например, не указан этаж). Большинство алгоритмов не умеют работать с пустотой: числовые заполняем средним по столбцу, текстовые — самым частым значением.
- Нормализация и стандартизация
- Приведение числовых признаков к сопоставимому масштабу. Пример: цены 1–50 млн и этажи 1–25 — без нормализации модель будет «слушать» только цену, потому что её числа больше. После — оба признака влияют одинаково.
- Кодирование категориальных признаков (One-Hot Encoding)
- Перевод текстовых значений в числа. Пример: «тип дома» = кирпичный / панельный / монолитный → три столбца (is_кирпичный, is_панельный, is_монолитный) с 0 или 1. Только одна «1» в строке — отсюда название One-Hot.
- TF-IDF — обработка текстового описания
- Метод превращения текста объявления в числа с учётом важности слов. TF — как часто слово встречается в этом объявлении. IDF — насколько редко оно встречается во всех объявлениях. Редкое и специфичное слово получает высокий балл; слова «и», «в», «на» — почти нулевой. Результат — числовой вектор, по одному числу на каждое слово словаря.
- Мультиколлинеарность и отбор признаков
- Если два признака несут одинаковую информацию (например, «цена» и «цена за м²» — зная одно, можно вычислить другое), один удаляется. Это запутывает модель: она не знает, кому «доверять». Меньше шума — лучше результат.
- Разделение 80 / 20
- Датасет делится на две части: 80% — обучающая выборка (на ней модель учится), 20% — тестовая (честная проверка результата). Модель не видит тестовую выборку во время обучения. Как экзамен: учишься по билетам, но сдаёшь другие вопросы.
- Random Forest / Логистическая регрессия / Gradient Boosting
- Три алгоритма на выбор. Random Forest — ансамбль деревьев решений, устойчив к выбросам, хорошо работает «из коробки». Логистическая регрессия — простая и интерпретируемая, быстро обучается. Gradient Boosting — мощный алгоритм, но медленнее. Для детектирования мошенничества обычно лучший результат у Random Forest или Gradient Boosting.
Сохранённые модели
Сравнение ROC-кривых моделей
Прогноз и экспорт
📖 Справка — что происходит на этом шаге?
На этом шаге обученная модель применяется к данным и для каждого объявления выдаёт прогноз: мошенническое или нормальное. Результаты можно скачать для дальнейшей работы.
- Прогноз по датасету из БД
- Применяет выбранную модель к датасету, уже загруженному в систему. Удобно для повторного анализа тех же данных другой моделью или с другими параметрами порога.
- Прогноз по загруженному файлу
- Позволяет загрузить новый CSV/TSV файл и сразу получить прогноз — без сохранения в БД. Удобно для разовой проверки новой порции объявлений.
- Столбцы в результатах
fraud_probability— вероятность мошенничества от 0 до 1 (например, 0.85 = 85%).is_fraud_predicted— итоговая метка: 1 (мошенническое) или 0 (нормальное), зависит от порога классификации, заданного при обучении.- Экспорт CSV / Excel
- CSV — универсальный текстовый формат, открывается в любой программе. Excel — отформатированный файл с цветовой подсветкой строк по результату прогноза.
Прогноз по датасету из БД
Прогноз по загруженному файлу
Экспорт CSV / Excel
Сначала выполните прогноз по датасету, затем скачайте файл.
Скачать CSV Скачать ExcelДашборд системы
📖 Справка — что показывает этот раздел?
Дашборд — сводная страница с общей картиной работы системы: архитектура, статистика данных и результаты анализа мошеннических объявлений.
- Архитектура системы
- Схема того, как устроена система: браузер → Nginx → FastAPI → PostgreSQL. Nginx — «администратор на ресепшене», принимает все запросы. FastAPI — «сотрудник в кабинете», выполняет реальную работу. PostgreSQL — база данных, где хранятся объявления, модели и результаты.
- Статистика по датасету
- Общая сводка по загруженным данным: сколько объявлений, сколько размечено, сколько выявлено мошеннических. Помогает оценить масштаб и качество загруженных данных.
- Анализ мошеннических объявлений
- Детализация по конкретным объявлениям с высоким риском: какие правила сработали, какой итоговый балл риска (
fraud_score). Удобно для ручной проверки подозрительных случаев.