TGTGInsighttelegram intelligenceLIVE / telegram public index
← ML Baldini • Nikita Boyandin
ML Baldini • Nikita Boyandin avatar

TGINSIGHT POST

Post #257

@ml_baldini

ML Baldini • Nikita Boyandin

Görüntülemeler1,410Gönderi görüntüleme sayısı
Yayınlandı21 Nis21.04.2025 14:59
İçerik

Gönderi içeriği

#Petprojects#Classic_ML#14дней В последнее время люди, которые только готовятся пойти на стажку в ML, очень часто забивают на pet-projects, заменяя их хакатонами. Как по мне это большое упущение, поэтому я написал 5 постов(ML-system-doc) на каждую из сфер ML(classic, nlp, CV, RL, recsys). Надеюсь, что вам понравится такой формат💗 Первый проект можно считать классикой - предсказание аренды на жилье в Москве. Еще полгода назад я столкнулся с тем, что цены в Циан не очень соответствуют сезонности. Поэтому тут это проект. 1⃣ Формулировка проблемы ML-задача: регрессия (прогноз числового значения — аренда/мес) Запрос от пользователя: https://www.cian.ru/rent/flat/ Ответ от бота: По нашему прогнозу, справедливая цена аренды этой квартиры — 72 000 ₽ в месяц. Объявленная цена завышена на 14%. 2⃣ Метрики RMSE / MAE — классика для оценки качества регрессии R² — для понимания "насколько хорошо мы объясняем данные" Процент отклонения от реальной цены (если есть ground truth) 3⃣ Архитектура системы Схема взаимодействия: 1. Пользователь отправляет ссылку на квартиру 2. Telegram-бот → backend 3. Backend: Парсит сайт (например, ЦИАН или Авито) Извлекает характеристики квартиры Преобразует фичи Прогоняет через ML-модель Возвращает прогноз и комментарий Компоненты: parser.py: парсинг HTML страницы, извлечение признаков featurizer.py: преобразование признаков model.pkl: обученная модель (например, CatBoost) bot.py: Telegram API (через python-telegram-bot) server.py: FastAPI backend (для API запросов) 4⃣ Сбор и подготовка данных Источник: парсинг сайтов объявлений (ЦИАН, Авито) Фичи:Район / метро, площадь, кол-во комнат, Этаж / этажность, тип дома, год постройки, наличие мебели, ремонта и т.д. 5⃣ Feature Engineering Категориальные фичи: one-hot / target encoding Гео-признаки: расстояние до центра / метро Текст: ключевые слова из описания Признаки из HTML (например, "свежий ремонт", "панорамные окна") 6⃣ Разработка модели и оффлайн-оценка Модели:baseline — Linear Regression Бустинг — LightGBM / CatBoost CV: по району или дате публикации Валидация на отложенных квартирах 7⃣ Интеграция с Telegram API 🕺Бот слушает команды: /predict https://www.cian.ru/rent/flat/ Отправляет ссылку на backend Получает и форматирует ответ: ✅ Справедливая цена 📈 Отклонение 📍 Район / метро 🧱 Характеристики квартиры 8⃣ Деплой, мониторинг и обновления FastAPI-сервер → Docker-контейнер Хостинг: Railway / Render / VPS Мониторинг: лог ошибок парсера, частота запросов, время ответа Обновление модели: периодический запуск пайплайна с новыми данными Кэширование популярных ссылок (по id квартир) ❤️ - Сделать MLSD по CV