📊 Определение стоимости автомобилей
🧭 Что такое проект
Поздравляем! 🎉
Вы успешно прошли курс в тренажёре. Самое время проверить знания и решить новую задачу машинного обучения. Выполнять работу будете самостоятельно.
Когда закончите, отправьте её на проверку ревьюеру: он пришлёт комментарии в течение суток. После этого нужно доработать проект и пройти повторную проверку.
Скорее всего, вы будете дорабатывать кейс по комментариям ещё несколько раз. Это нормально.
Проект завершён, когда ревьюер одобрит все доработки.
📌 Описание проекта
Сервис по продаже автомобилей с пробегом «Не бит, не крашен» разрабатывает приложение, чтобы привлечь новых клиентов. В нём можно будет узнать рыночную стоимость своего автомобиля.
Постройте модель, которая умеет её определять. В вашем распоряжении данные о технических характеристиках, комплектации и ценах других автомобилей.
Критерии, которые важны заказчику:
- качество предсказания;
- время обучения модели;
- время предсказания модели.
📋 Инструкция по выполнению проекта
Чтобы усилить исследование, не ограничивайтесь градиентным бустингом. Попробуйте более простые модели — иногда они работают лучше. Эти редкие случаи легко пропустить, если всегда применять только бустинг.
Поэкспериментируйте и сравните характеристики моделей: время обучения, время предсказания, точность результата.
Основные шаги:
-
Загрузите данные, путь к файлу:
/datasets/autos.csv. -
Изучите данные. Заполните пропущенные значения и обработайте аномалии в столбцах. Если среди признаков имеются неинформативные, удалите их.
-
Подготовьте выборки для обучения моделей.
-
Обучите разные модели, одна из которых — LightGBM, как минимум одна — не бустинг. Для каждой модели попробуйте разные гиперпараметры.
-
Проанализируйте время обучения, время предсказания и качество моделей.
-
Опираясь на критерии заказчика, выберите лучшую модель, проверьте её качество на тестовой выборке.
Примечания
- Для оценки качества моделей применяйте метрику RMSE.
- Значение метрики RMSE должно быть меньше 2500.
- Самостоятельно освоите библиотеку LightGBM и её средствами постройте модели градиентного бустинга.
- Время выполнения ячейки кода Jupyter Notebook можно получить специальной командой. Найдите её.
- Модель градиентного бустинга может долго обучаться, поэтому измените у неё только два-три параметра.
- Если перестанет работать Jupyter Notebook, удалите лишние переменные оператором
del.
del features_train
📁 Описание данных
Данные находятся в файле /datasets/autos.csv. Скачать датасет.
Признаки
| Поле | Описание |
|---|---|
DateCrawled |
дата скачивания анкеты из базы |
VehicleType |
тип автомобильного кузова |
RegistrationYear |
год регистрации автомобиля |
Gearbox |
тип коробки передач |
Power |
мощность (л. с.) |
Model |
модель автомобиля |
Kilometer |
пробег (км) |
RegistrationMonth |
месяц регистрации автомобиля |
FuelType |
тип топлива |
Brand |
марка автомобиля |
Repaired |
была машина в ремонте или нет |
DateCreated |
дата создания анкеты |
NumberOfPictures |
количество фотографий автомобиля |
PostalCode |
почтовый индекс владельца анкеты (пользователя) |
LastSeen |
дата последней активности пользователя |
Целевой признак
| Поле | Описание |
|---|---|
Price |
цена (евро) |
✅ Как будут проверять проект?
Мы подготовили критерии оценки проекта, которыми руководствуются ревьюеры. Прежде чем решать кейс, внимательно изучите их.
На что обращают внимание ревьюеры, проверяя проект:
| Аспект | Комментарий |
|---|---|
| 📋 Выполнение инструкции | Все ли шаги инструкции были выполнены? |
| 🔧 Подготовка данных | Как вы готовите данные? |
| 🤖 Модели и гиперпараметры | Какие модели и гиперпараметры вы рассматриваете? |
| 🧹 Качество кода | Не дублируете ли вы код? |
| 💬 Выводы | Какие выводы вы делаете? |
| 📐 Структура проекта | Следите ли вы за структурой проекта? Поддерживаете ли вы аккуратность кода? |
🧠 Всё, что вам нужно знать, есть в шпаргалках и конспектах прошлых тем.