Автор оригинала: Pankaj Kumar.
Регрессия хребта в Python
Здравствуйте, читатели! Сегодня мы будем сосредоточены на важном аспекте в концепции регрессии – Регрессия Ridge в Python , в деталях.
Итак, давайте начнем !!
Понимание регрессии Ridge
Мы все знаем, что линейная регрессия оценивает лучшую подходящую линию и предсказывает значение целевой числовой переменной. То есть он прогнозирует взаимосвязь между независимыми и зависимыми переменными набора данных.
Он находит коэффициенты модели через определенную технику во время прогнозирования.
Вопрос с линейной регрессией состоит в том, что расчетные коэффициенты переменных моделей могут оказаться, чтобы стать большим значением, которое, по очереди, делает модель чувствительной к входам. Таким образом, это делает модель очень нестабильной.
Это когда регрессия Ridge приходит в картину!
Регрессия Ridge также известна как, L2 регрессия
Добавляет штраф к существующей модели. Он добавляет наказание в функцию потери, которая, в свою очередь, делает модель меньшее значение коэффициентов. То есть он сжимает коэффициенты переменных модели, которые не вносят вклад в себе в себе модель.
Он наказывает на наличие модели на основе Сумма квадратной ошибки (SSE) Отказ Хотя он наказывает модель, это предотвращает его исключение от модели, позволяя им иметь к нулю в качестве значения коэффициентов.
Для добавления, гиперпараметрированный под названием Lambda включен в штраф L2, чтобы проверить при взвешивании штрафов.
В двух словах регрессия Ridge может быть оформлена следующим образом:
Ridge + (лямбда * l2_penaltyty)
Давайте сейчас сосредоточимся на реализации одинакового!
Регрессия Ridge в Python – практический подход
В этом примере мы будем работать над набором данных аренды велосипедов. Вы можете найти набор данных здесь !
Сначала мы загружаем набор данных в среду Python, используя read_csv ()
функция. Кроме того, мы разделим данные, используя rain_test_split () функция.
Затем мы определяем метрики ошибок для модели здесь, мы использовали Maпе в качестве метрики ошибки.
Наконец, мы применяем регрессию Ridge к модели, используя Ridge ()
функция.
Пример:
import os import pandas #Changing the current working directory os.chdir("D:/Ediwsor_Project - Bike_Rental_Count") BIKE = pandas.read_csv("day.csv") bike = BIKE.copy() categorical_col_updated = ['season','yr','mnth','weathersit','holiday'] bike = pandas.get_dummies(bike, columns = categorical_col_updated) #Separating the depenedent and independent data variables into two dataframes. from sklearn.model_selection import train_test_split X = bike.drop(['cnt'],axis=1) Y = bike['cnt'] X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=.20, random_state=0) import numpy as np def MAPE(Y_actual,Y_Predicted): mape = np.mean(np.abs((Y_actual - Y_Predicted)/Y_actual))*100 return mape from sklearn.linear_model import Ridge ridge_model = Ridge(alpha=1.0) ridge=ridge_model.fit(X_train , Y_train) ridge_predict = ridge.predict(X_test) Ridge_MAPE = MAPE(Y_test,ridge_predict) print("MAPE value: ",Ridge_MAPE) Accuracy = 100 - Ridge_MAPE print('Accuracy of Ridge Regression: {:0.2f}%.'.format(Accuracy))
Выход:
Использование канальти Ridge (L2), мы получили точность 83,3%
MAPE value: 16.62171367018922 Accuracy of Ridge Regression: 83.38%.
Заключение
По этому, мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если вы столкнетесь с любым вопросом.
Для более таких постов, связанных с Python, оставайся настроенными нами.
До этого, счастливого обучения !! 🙂.