Ужасное состояние транспорта в моей стране приводит к огромной трате времени, энергии и денег каждого. что привело к увеличению числа покупателей автомобилей. В наши дни каждый хочет иметь автомобиль, но из-за таких факторов, как доступность или экономические условия, многие предпочитают выбирать подержанные автомобили.

Точное прогнозирование цен на подержанные автомобили требует экспертных знаний, что в основном связано с характером их зависимости от множества факторов и особенностей. Цены на подержанные автомобили на рынке непостоянны, поэтому и покупателям, и продавцам трудно эффективно предсказать правильную цену.

Их прогнозы основаны на сборе набора данных, который содержит все важные элементы, такие как год выпуска автомобиля, тип топлива, его состояние, пробег, количество дверей, отзывы клиентов, вес автомобиля и т. д. Понятно, что на цену продукта влияет множество факторов, но, к сожалению, информация об этих характеристиках не всегда доступна.

Этот проект фокусируется на рынке, расположенном в Северной Африке, набор эталонных данных, содержащий все ключевые функции, взят с сайтов в этом районе.

Конечно, этот набор данных должен быть предварительно обработан и преобразован для использования в алгоритмах машинного обучения.

Характеристики включают цену, марку, модель, год выпуска, бюджетную мощность, пробег, топливо и коробку передач. Набор данных содержит около 4000 наблюдений.

Предварительная обработка данных:

В качестве первого шага были идентифицированы и обработаны отсутствующие, повторяющиеся и нулевые значения.

Марка транспортных средств является категоричной, поэтому мы будем кодировать ее Onehot по происхождению. Коробка передач также категорична и бывает либо автоматической, либо механической.

Топливо также дизельное, бензиновое или и то, и другое. Мы также сделаем кодировку Onehot для коробки передач и топлива.

Цена содержит большинство выбросов. Поэтому мы выполним некоторое увеличение данных, чтобы сбалансировать набор данных. То есть путем удаления и добавления дополнительных данных с необходимой ценой.

Выбор функций:

Мы будем использовать ExtraTreesRegressor. Также называемый классификатором экстремально рандомизированных деревьев, он по своей концепции очень похож на классификатор случайного леса. он отличается от него только способом построения деревьев решений в лесу.

Чтобы выполнить выбор функций, каждая функция упорядочивается в порядке убывания в соответствии с важностью Джини для каждой функции. Затем пользователь выбирает лучшие k функций в соответствии со своим выбором.

Как вы можете видеть на изображении (проект был на французском языке), год производства является наиболее важной характеристикой, за которой следуют финансовая мощность, марка и механическая коробка передач.

Моделирование данных:

Эту проблему прогнозирования можно считать проблемой регрессии, поскольку она относится к области контролируемого обучения. Четыре регрессора, известные как случайный лес, линейная регрессия, деревья решений и регрессор Xgboost, были обучены и сравнены. Случайный лесной регрессор превзошел все остальные в этом проекте, поэтому он был выбран в качестве основной модели алгоритма.

Мы выполним некоторую настройку гиперпараметров, чтобы получить наилучшие параметры для модели.

Используя метод RandomizedSearchCV, мы определим сетку диапазонов гиперпараметров и будем производить случайную выборку из сетки, выполняя K-Fold CV для каждой комбинации значений.

Для регрессора случайного леса гиперпараметры, которые мы настраиваем, следующие:

  • n_estimators — количество деревьев в нашем лесу.
  • max_features — максимальное количество функций, рассматриваемых для разделения узла.
  • max_depth — максимальное количество уровней в каждом дереве решений.
  • min_samples_split минимальное количество точек данных, размещенных в узле перед разделением узла
  • min_samples_leaf минимальное количество точек данных, разрешенных в конечном узле
  • начальная загрузка

Наша случайная сетка гиперпараметров будет выглядеть так:

Затем мы начинаем случайный поиск, который даст нам наилучшую комбинацию гиперпараметров.

Поэтому мы будем обучать модель, используя эти гиперпараметры.

Для оценки модели мы использовали лучшие метрики для оценки регрессии:

R-квадрат (R2) — это статистическая мера, представляющая долю дисперсии зависимой переменной, которая объясняется независимой переменной или переменными в регрессионной модели. Обычно чем больше R2, тем лучше регрессионная модель соответствует вашим наблюдениям. 0 представляет собой модель, которая не объясняет каких-либо вариаций переменной отклика вокруг ее среднего значения. В то время как 1 для модели, которая объясняет все варианты.

Скорректированный R-квадрат предназначен для обеспечения более точного представления об этой корреляции, а также с учетом того, сколько независимых переменных добавлено в конкретную модель. Тот факт, что эти два значения близки, означает, что большинство наших переменных добавляют ценность модели.

MAE — это показатель, который вычисляет абсолютную разницу между фактическими и прогнозируемыми значениями. MSE — это квадрат разницы между фактическими и прогнозируемыми значениями. RMSE — это квадратный корень из среднеквадратичной ошибки.

MAE, MSE и RMSE являются самыми низкими значениями среди всех регрессоров.

Прогнозирование цены транспортного средства считается основной темой исследований в области машинного обучения, поскольку оно зависит от многих факторов. Доступные данные не содержат всех этих факторов, что затрудняет прогнозирование правильной цены. В этом проекте мы постарались совместить самые важные переменные и это действительно дало в итоге хороший результат.