Мы будем изучать данные об эффективности автомобилей по экономии топлива и различные параметры, которые есть для данных. В этом отношении сначала мы загрузим все библиотеки и прочитаем данные. Наша зависимая переменная будет «MPG», а остальные все переменные будут независимыми переменными.

Как мы видим, некоторые данные носят числовой характер, а некоторые носят категориальный характер, что означает «объект» рядом с именами переменных, такими как «Модель», «Передача» и т. д.

Затем мы получим некоторую сводную статистику, чтобы увидеть, как различные сводные диапазоны для таких переменных, как Min, Max, IQR, Mean и т. д.

Мы можем посмотреть на первые несколько строк, взглянув на команду head().

Далее мы увидим различные типы диаграмм и гистограмм, чтобы увидеть форму данных.

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

То же самое показано ниже только для MPG,

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

Как и тот, что ниже.

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

Несмотря на то, что значения для не отсутствуют в этом наборе дат, мы будем использовать импутер, чтобы убедиться, что в будущем некоторые значения будут отсутствовать, мы используем медиану, чтобы обновить отсутствующие значения до медианы s.

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

Один подход горячего кодирования.

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

На следующем шаге мы разделим данные на разделение тестов поезда и запустим линейную регрессию.

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

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

Запуск множества моделей Boosting также сохранил значения R в квадрате очень похожими, а значение ошибки также было низким.

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

Использованная литература:

  • данные и код использовали ресурсы.