Данный проект является продолжением проекта по предсказанию стоимости автомобилей. Теперь кроме табличных данных мы можем проанализировать текст с объявлением и фотографии автомобилей и применить эту информацию для улучшения работы модели.
- применение сверточных нейронных сетей для работы с табличными данными
- анализ изображений
- NLP
- создание multi-input сетей
→ EDA
Датасет очищен от дубликатов, пропущенных значений.
Подобраны новые переменные, выполнена нормализация и стандартизация признаков, применены методы для кодирования категориальных признаков.
Произведена генерация новых признаков и отбор признаков методом Стьюдента и при помощи коррекляционной матрицы.
→ Построение модели по обработке естественного языка (NLP)
Применены стандартные архитектуры.
Обработка текста: применены дополнительные методы предобработки (токенизация, лемматизация).
→ Добавление изображений в решение
Применены стандартные архитектуры.
Применены различные методы обучения (Fine-tuning, transfer-learning, LR-Cycle).
Обработка изображений: применены дополнительные методы предобработки (аугментация).
Применены продвинутые архитектуры (SOTA) для обработки изображений.
→ Обучение модели:
Построена «наивная» ML-модель на табличных данных.
Модель градиентного бустинга с помощью CatBoost.
DL (модель NN Tabular)
Multi-Input нейронная сеть для анализа табличных данных и текста
Multi-Input нейронная сеть для анализа табличных данных, текста и изображений
Multi-Input нейронная сеть с пробросом признака
усреднение предсказаний
Все данные, которые использовались в проекте, были взяты с соревнования на Kaggle. На вход подавались датасет с различными признаками, тексты объявлений и изображения автомобилей.
car_price_part2_best_final.ipynb - командный проект
nlp.py - модуль поиска самых повторяющихся фраз в описаниях автомобилей.
Никнейм на Kaggle - Alexander Samokhin
Значение метрики, которого удалось добиться - 10.78708