Введение
В этой статье я покажу, как использовать регрессор случайного леса для прогнозирования «цен на жилье». Этот набор данных находится в открытом доступе на веб-сайте Kaggle.
……….
Изучение набора данных
Я импортировал набор данных с помощью функции «pd.read_csv()». Набор данных имеет 1460 строк и 81 столбец/атрибут. Некоторые из атрибутов: «Id», «LotArea», «MSSubClass», «Utilities» и т. д. Целевой переменной здесь является «HousePrice».
……….
Очистка данных
Следующим шагом является очистка данных, т. е. удаление отсутствующих значений и замена значений, которые можно заменить. Например, если в столбце 60 % записей пусты или отсутствуют, лучше удалить этот столбец. Если у нас меньшее количество записей в столбце, например, 15–20%, то лучше заменить эти значения, потому что мы не хотим потерять ценную информацию для прогнозирования окончательной цены дома.
……….
Вменение значений
Здесь я импортировал необходимые пакеты для вменения значений. Кроме того, я импортировал пайплайн, чтобы упростить процесс регрессии. Конвейер помогает нам автоматизировать рабочий процесс. Для разделения набора данных на наборы для обучения и тестирования я использую «train_test_split». Это разобьет исходный набор данных на наборы для обучения и тестирования. Учебный набор будет использоваться для обучения модели, а тестовый набор будет использоваться для проверки точности/производительности модели.
Я использую «OneHotEncoder» для вменения категориальных переменных. Здесь я использую Random Forest Regressor, он состоит из множества деревьев решений. Прогнозы делаются путем усреднения прогнозов каждого дерева решений. Таким образом, он дает лучшие оценки, чем дерево решений. Используя конвейер, я передал числовой и категориальный преобразователь в конвейер, называемый препроцессором. После этого я создал экземпляр RandomForestRegressor, передал препроцессор и модель в конвейер. Теперь обучающий набор подгоняется к модели, и прогнозы выполняются с использованием функции прогнозирования.
……….
Расчет производительности модели
«MAE» — это средняя абсолютная ошибка, которая показывает, насколько сильно отклонение наших прогнозов от исходных значений.
Я знаю, что 17 806 выглядит слишком высоко!!! но это начало. Теперь мы можем поэкспериментировать с параметрами RandomForestRegressor, а также попробовать различные методы машинного обучения, такие как XGBoost, Deep Neural Networks и т. д., но это может быть темой для другого дня.
Надеюсь, вам понравился контент, и вы узнали что-то новое сегодня, хотелось бы услышать ваше мнение в комментариях, вы также можете связаться со мной в LinkedIn. Ваше здоровье!