O que é regressão de Ridge? [Atualizada]

O que é regressão de Ridge? [Atualizada]

Nó Fonte: 2450913

Índice

Contribuíram por: Prasanth Ashok

Cume regressão é um método de ajuste de modelo usado para analisar quaisquer dados que sofram de multicolinearidade. Este método executa a regularização L2. Quando ocorre o problema da multicolinearidade, os mínimos quadrados são imparciais e as variâncias são grandes, o que resulta em valores previstos distantes dos valores reais. 

A função de custo para regressão de crista:

Min(||Y – X(teta)||^2 + λ||teta||^2)

Lambda é o termo de penalidade. λ fornecido aqui é denotado por um parâmetro alfa na função de crista. Assim, ao alterar os valores de alfa, estamos controlando o termo de penalidade. Quanto maiores os valores de alfa, maior é a penalidade e, portanto, a magnitude dos coeficientes é reduzida.

  • Ele reduz os parâmetros. Portanto, é usado para prevenir a multicolinearidade
  • Reduz a complexidade do modelo pelo encolhimento do coeficiente
  • Confira o curso gratuito em análise de regressão.

Modelos de regressão de Ridge 

Para qualquer tipo de modelo de aprendizado de máquina de regressão, a equação de regressão usual forma a base que é escrita como:

Y = XB + e

Onde Y é a variável dependente, X representa as variáveis ​​independentes, B são os coeficientes de regressão a serem estimados e e representa os erros que são resíduos. 

Uma vez adicionada a função lambda a esta equação, considera-se a variância que não é avaliada pelo modelo geral. Depois que os dados estiverem prontos e identificados como parte da regularização L2, há etapas que podem ser realizadas.

estandardização 

Na regressão de crista, o primeiro passo é padronizar as variáveis ​​(dependentes e independentes) subtraindo suas médias e dividindo pelos seus desvios padrão. Isto causa um desafio na notação, uma vez que devemos indicar de alguma forma se as variáveis ​​em uma fórmula específica são padronizadas ou não. No que diz respeito à padronização, todos os cálculos de regressão de crista são baseados em variáveis ​​padronizadas. Quando os coeficientes de regressão finais são exibidos, eles são ajustados de volta à escala original. No entanto, o traçado da crista está numa escala padronizada.

Leia também: Suporta regressão vetorial em aprendizado de máquina

Compensação de viés e variância

A compensação entre viés e variância geralmente é complicada quando se trata de construir modelos de regressão de cume em um conjunto de dados real. No entanto, seguindo a tendência geral que é preciso lembrar é:

  1. O viés aumenta à medida que λ aumenta.
  2. A variância diminui à medida que λ aumenta.

Suposições de regressões de Ridge

As suposições da regressão de crista são as mesmas da regressão linear: linearidade, variância constante e independência. No entanto, como a regressão de crista não fornece limites de confiança, não é necessário presumir que a distribuição dos erros seja normal.

Agora, vamos dar um exemplo de problema de regressão linear e ver como a regressão de crista, se implementada, nos ajuda a reduzir o erro.

Consideraremos um conjunto de dados sobre restaurantes de alimentação tentando encontrar a melhor combinação de alimentos para melhorar suas vendas em uma determinada região. 

Carregar bibliotecas necessárias

import numpy as np import pandas as pd
import os import seaborn as sns
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt import matplotlib.style
plt.style.use('classic') import warnings
warnings.filterwarnings("ignore") df = pd.read_excel("food.xlsx")

Depois de realizar toda a AED nos dados e tratar os valores faltantes, prosseguiremos agora com a criação de variáveis ​​​​dummies, pois não podemos ter variáveis ​​​​categóricas no conjunto de dados.

df =pd.get_dummies(df, columns=cat,drop_first=True)

Onde columns=cat são todas as variáveis ​​categóricas no conjunto de dados.

Depois disso, precisamos padronizar o conjunto de dados para o método de Regressão Linear.

Escalar as variáveis ​​como variáveis ​​contínuas tem pesos diferentes

#Scales the data. Essentially returns the z-scores of every attribute from sklearn.preprocessing import StandardScaler
std_scale = StandardScaler()
std_scale df['week'] = std_scale.fit_transform(df[['week']])
df['final_price'] = std_scale.fit_transform(df[['final_price']])
df['area_range'] = std_scale.fit_transform(df[['area_range']])

Divisão de teste de trem

# Copy all the predictor variables into X dataframe
X = df.drop('orders', axis=1) # Copy target into the y dataframe. Target variable is converted in to Log. y = np.log(df[['orders']]) # Split X and y into training and test set in 75:25 ratio
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25 , random_state=1)

Modelo de regressão linear

Leia também: O que é regressão linear?

# invoke the LinearRegression function and find the bestfit model on training data regression_model = LinearRegression()
regression_model.fit(X_train, y_train) # Let us explore the coefficients for each of the independent attributes for idx, col_name in enumerate(X_train.columns): print("The coefficient for {} is {}".format(col_name, regression_model.coef_[0][idx])) The coefficient for week is -0.0041068045722690814
The coefficient for final_price is -0.40354286519747384
The coefficient for area_range is 0.16906454326841025
The coefficient for website_homepage_mention_1.0 is 0.44689072858872664
The coefficient for food_category_Biryani is -0.10369818094671146
The coefficient for food_category_Desert is 0.5722054451619581
The coefficient for food_category_Extras is -0.22769824296095417
The coefficient for food_category_Other Snacks is -0.44682163212660775
The coefficient for food_category_Pasta is -0.7352610382529601
The coefficient for food_category_Pizza is 0.499963614474803
The coefficient for food_category_Rice Bowl is 1.640603292571774
The coefficient for food_category_Salad is 0.22723622749570868
The coefficient for food_category_Sandwich is 0.3733070983152591
The coefficient for food_category_Seafood is -0.07845778484039663
The coefficient for food_category_Soup is -1.0586633401722432
The coefficient for food_category_Starters is -0.3782239478810047
The coefficient for cuisine_Indian is -1.1335822602848094
The coefficient for cuisine_Italian is -0.03927567006223066
The coefficient for center_type_Gurgaon is -0.16528108967295807
The coefficient for center_type_Noida is 0.0501474731039986
The coefficient for home_delivery_1.0 is 1.026400462237632
The coefficient for night_service_1 is 0.0038398863634691582 #checking the magnitude of coefficients
from pandas import Series, DataFrame
predictors = X_train.columns coef = Series(regression_model.coef_.flatten(), predictors).sort_values()
plt.figure(figsize=(10,8)) coef.plot(kind='bar', title='Model Coefficients')
plt.show() 

As variáveis ​​​​que mostram efeito positivo no modelo de regressão são food_category_Rice Bowl, home_delivery_1.0, food_category_Desert, food_category_Pizza, website_homepage_mention_1.0, food_category_Sandwich, food_category_Salad e area_range - esses fatores influenciam fortemente nosso modelo.

Regressão Ridge versus Regressão Lasso: Compreendendo as principais diferenças

No mundo dos modelos de regressão linear, Ridge e Lasso Regression destacam-se como duas técnicas fundamentais, ambas concebidas para melhorar a precisão da previsão e a interpretabilidade dos modelos, particularmente em situações com dados complexos e de alta dimensão. A principal diferença entre os dois está na abordagem de regularização, que é um método para evitar overfitting adicionando uma penalidade à função de perda. A regressão de Ridge, também conhecida como regularização de Tikhonov, adiciona um termo de penalidade que é proporcional ao quadrado da magnitude dos coeficientes. Este método reduz os coeficientes para zero, mas nunca exatamente para zero, reduzindo assim a complexidade e a multicolinearidade do modelo. Em contraste, a Regressão Lasso (Operador de Mínima Retração Absoluta e Seleção) inclui um termo de penalidade que é o valor absoluto da magnitude dos coeficientes. Esta abordagem distinta não apenas reduz os coeficientes, mas também pode reduzir alguns deles a zero, realizando efetivamente a seleção de recursos e resultando em modelos mais simples e interpretáveis.

A decisão de usar a regressão Ridge ou Lasso depende dos requisitos específicos do conjunto de dados e do problema subjacente a ser resolvido. A regressão de Ridge é preferida quando todos os recursos são considerados relevantes ou quando temos um conjunto de dados com multicolinearidade, pois pode lidar com entradas correlacionadas de forma mais eficaz, distribuindo coeficientes entre eles. Enquanto isso, a regressão Lasso é excelente em situações em que a parcimônia é vantajosa – quando é benéfico reduzir o número de recursos que contribuem para o modelo. Isto é particularmente útil em conjuntos de dados de alta dimensão onde a seleção de recursos se torna essencial. No entanto, o Lasso pode ser inconsistente em casos de recursos altamente correlacionados. Portanto, a escolha entre Ridge e Lasso deve ser informada pela natureza dos dados, pela complexidade desejada do modelo e pelos objetivos específicos da análise, muitas vezes determinados por meio de validação cruzada e avaliação comparativa do desempenho do modelo.

Regressão Ridge em aprendizado de máquina

  • A regressão Ridge é uma técnica chave em aprendizado de máquina, indispensável para a criação de modelos robustos em cenários propensos a overfitting e multicolinearidade. Este método modifica a regressão linear padrão introduzindo um termo de penalidade proporcional ao quadrado dos coeficientes, o que se mostra particularmente útil quando se trata de variáveis ​​independentes altamente correlacionadas. Entre seus principais benefícios, a regressão de crista reduz efetivamente o overfitting por meio de penalidades de complexidade adicionais, gerencia a multicolinearidade equilibrando os efeitos entre variáveis ​​correlacionadas e aprimora a generalização do modelo para melhorar o desempenho em dados invisíveis.
  • A implementação da regressão de crista em ambientes práticos envolve a etapa crucial de selecionar o parâmetro de regularização correto, comumente conhecido como lambda. Essa seleção, normalmente feita usando técnicas de validação cruzada, é vital para equilibrar a compensação entre viés e variância inerente ao treinamento do modelo. A regressão Ridge desfruta de amplo suporte em várias bibliotecas de aprendizado de máquina, com Python scikit-learn sendo um exemplo notável. Aqui, a implementação envolve definir o modelo, definir o valor lambda e empregar funções integradas para ajustes e previsões. A sua utilidade é particularmente notável em setores como finanças e análise de saúde, onde previsões precisas e construção robusta de modelos são fundamentais. Em última análise, a capacidade da regressão de crista de melhorar a precisão e lidar com conjuntos de dados complexos solidifica a sua importância contínua no campo dinâmico da aprendizagem automática.

Leia também: O que é regressão quantílica?

Quanto maior o valor do coeficiente beta, maior será o impacto.

Pratos como Rice Bowl, Pizza, Desert com facilidades como entrega em domicílio e website_homepage_mention desempenham um papel importante na demanda ou no número de pedidos feitos em alta frequência.

Variáveis ​​que apresentam efeito negativo no modelo de regressão para previsão de pedidos em restaurantes: cuisine_Indian,food_category_Soup , food_category_Pasta , food_category_Other_Snacks.

Final_price tem um efeito negativo no pedido – como esperado.

Pratos como sopa, massa, outros lanches e categorias de comida indiana prejudicam a previsão do modelo sobre o número de pedidos feitos em restaurantes, mantendo todos os outros preditores constantes.

Algumas variáveis ​​que dificilmente afetam a previsão do modelo para frequência de pedidos são week e night_service.

Por meio do modelo, podemos ver que os tipos de objetos de variáveis ​​​​ou variáveis ​​​​categóricas são mais significativos do que variáveis ​​​​contínuas.

Leia também: Introdução à expressão regular em Python

[Conteúdo incorporado]

Regularização

  1. Valor de alfa, que é um hiperparâmetro de Ridge, o que significa que eles não são aprendidos automaticamente pelo modelo, mas devem ser definidos manualmente. Executamos uma pesquisa em grade para valores alfa ideais
  2. Para encontrar o alfa ideal para regularização de Ridge, estamos aplicando GridSearchCV
from sklearn.linear_model import Ridge
from sklearn.model_selection import GridSearchCV ridge=Ridge()
parameters={'alpha':[1e-15,1e-10,1e-8,1e-3,1e-2,1,5,10,20,30,35,40,45,50,55,100]}
ridge_regressor=GridSearchCV(ridge,parameters,scoring='neg_mean_squared_error',cv=5)
ridge_regressor.fit(X,y) print(ridge_regressor.best_params_)
print(ridge_regressor.best_score_) {'alpha': 0.01}
-0.3751867421112124

O sinal negativo é devido ao erro conhecido na biblioteca Grid Search Cross Validation, portanto ignore o sinal negativo.

predictors = X_train.columns coef = Series(ridgeReg.coef_.flatten(),predictors).sort_values()
plt.figure(figsize=(10,8))
coef.plot(kind='bar', title='Model Coefficients')
plt.show() 

A partir da análise acima podemos decidir que o modelo final pode ser definido como:

Pedidos = 4.65 + 1.02home_delivery_1.0 + 46 website_homepage_mention_1 0+ (-40* preço_final) +17area_range + 0.57food_category_Desert + (-0.22food_category_Extras) + (-0.73food_category_Pasta) + 0.49food_category_Pizza + 1.6food _categoria_Tigela_de_arroz + 0.22comida_categoria_Salada + 0.37 food_category_Sandwich + (-1.05food_category_Soup) + (-0.37food_category_Starters) + (-1.13cuisine_Indian) + (-0.16center_type_Gurgaon)

As 5 principais variáveis ​​que influenciam o modelo de regressão são:

  1. food_category_Tigela de arroz
  2. home_delivery_1.0
  3. comida_categoria_Pizza
  4. comida_categoria_deserto
  5. website_homepage_mention_1

Quanto maior o coeficiente beta, mais significativo é o preditor. Assim, com certo ajuste do modelo de nível, podemos descobrir as melhores variáveis ​​que influenciam um problema de negócio.

Se você achou este blog útil e deseja aprender mais sobre esses conceitos, você pode participar Cursos online gratuitos da Great Learning Academy hoje mesmo.

O que é regressão de Ridge?

A regressão Ridge é um método de regressão linear que adiciona um viés para reduzir o overfitting e melhorar a precisão da previsão.

Como a regressão de Ridge difere dos mínimos quadrados comuns?

Ao contrário dos mínimos quadrados comuns, a regressão de crista inclui uma penalidade na magnitude dos coeficientes para reduzir a complexidade do modelo.

Quando você deve usar a regressão Ridge?

Use a regressão de crista ao lidar com multicolinearidade ou quando houver mais preditores do que observações.

Qual é o papel do parâmetro de regularização na regressão de Ridge?

O parâmetro de regularização controla a extensão da redução do coeficiente, influenciando a simplicidade do modelo.

A regressão de Ridge pode lidar com relacionamentos não lineares?

Embora seja principalmente para relacionamentos lineares, a regressão de crista pode incluir termos polinomiais para não linearidades.

Como a regressão Ridge é implementada em software?

A maioria dos softwares estatísticos oferece funções integradas para regressão de cristas, exigindo especificação de variáveis ​​e valores de parâmetros.

Como escolher o melhor parâmetro de regularização?

O melhor parâmetro geralmente é encontrado por meio de validação cruzada, usando técnicas como grade ou pesquisa aleatória.

Quais são as limitações da regressão Ridge?

Inclui todos os preditores, o que pode complicar a interpretação, e a escolha do parâmetro ideal pode ser um desafio.

Carimbo de hora:

Mais de Meu grande aprendizado