В моем последнем посте я обсуждал, как использовать метод DummyClassifier Скерна, и показал, что он используется для обеспечения базовой точности для наборов данных классификации. Мой пост о методе sklearn DummyClassifier можно найти здесь: - https://medium.com/mlearning-ai/how-to-use-sklearns-dummyclassifier-method-1eaa6d3fd636

В этом посте я намерен обсудить DummyRegressor sklearn, который делает прогнозы, используя очень простые правила. DummyRegressor — полезный инструмент для предоставления простых базовых прогнозов, которые можно сравнить с реальными регрессорами.

Чтобы продемонстрировать, как использовать DummyRegressor, я выбрал набор данных OpenML цены на жилье, который можно найти здесь: https://www.openml.org/d/42165.

Я написал программу в Google Colab, бесплатном онлайн-блокноте Jupyter Notebook, но загрузил набор данных OpenML с помощью функции sklearn fetch_openml. Это отличная функция, поскольку она дает пользователю доступ к наборам данных OpenML, которые можно легко загрузить.

Как только я создал программу, я импортировал в нее библиотеки. Обычно я импортирую библиотеки только по мере необходимости, но для этого сайта я импортировал pandas, numpy, sklearn, matplotlib и seaborn. Pandas создает кадры данных и манипулирует ими, numpy создает массивы и выполняет алгебраические вычисления, sklearn содержит множество функций машинного обучения, а matplotlib и seaborn — это графические пакеты:

Затем я загрузил набор данных о ценах на жилье с сайта OpenML, используя функцию sklearn fetch_openml:

Я проверил нулевые значения, обнаружил, что их довольно много, и вставил код для вменения всех нулевых значений:

Как только нулевые значения были введены, я проанализировал переменную y, которая является целью:

Затем я закодировал столбцы, которые были объектами, с помощью OrdinalEncoder() sklearn:

Затем я разделил переменные X и y на обучающие и проверочные наборы с помощью sklearn train_test_split:

Я выбрал модель и, чтобы узнать, какова базовая точность, я использовал метод DummyRegressor от sklearn:

Затем я сделал прогноз на проверочном наборе и рассчитал метрики, которые действительно очень плохие:

Я создал график, на котором фактические значения сравнивались с прогнозируемыми:

Как видно из приведенных выше рисунков, точность, достигнутая на sklearn DummyRegressor, действительно очень низкая. Поэтому единственный путь вверх. У меня в рукаве есть много вещей, которые я могу сделать, чтобы повысить точность прогнозов. Некоторые вещи, которые повысят точность, — это масштабирование данных, изменение метода импутации, проверка на наличие выбросов, использование выбора и сокращения признаков, использование реальной оценки и даже использование ансамбля.

Полностью код этой программы можно найти в моем личном аккаунте Google Colab, ссылка здесь: https://colab.research.google.com/drive/1OptJ34i9ShzJW5wa9CZthnNExTa7vmym?usp=sharing.