Рубрики
Без рубрики

Регрессия хребта в Python

Здравствуйте, читатели! Сегодня мы будем сосредоточены на важном аспекте в концепции регрессии – регрессии Ridge в Python, подробно.

Автор оригинала: 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, оставайся настроенными нами.

До этого, счастливого обучения !! 🙂.