Regressão Ridge em Sklearn

Regressão Ridge em Sklearn
A regressão da Ridge é uma técnica de aprendizado de máquina para regularizar os dados usados ​​para executar a regressão linear. É uma otimização de regressão linear simples. Neste artigo, discutiremos sobre a regressão de Ride Ridge, suas vantagens, os problemas que ele resolveu e sua implementação em Sklearn.

O que é regressão de cume?

Para aumentar a precisão da previsão, a técnica estatística conhecida como regressão de cume reduz a magnitude das estimativas de parâmetros. Funciona especialmente bem se o seu conjunto de dados contiver colunas correlacionadas que você tenta usar como entrada (variáveis ​​independentes) em modelos de regressão, mas nenhum de seus modelos produziu resultados muito precisos. Em outras palavras, a regressão de cume é uma técnica de ajuste de modelo que é usada para qualquer análise de dados multicolineares. Os dados são submetidos à regularização de L2 usando este método.

A função de custo para a regressão de cume é:

Min (|| y - x (teta) ||^2 + λ || teta ||^2)

O que é multicolinearidade?

O conceito de multicolinearidade é baseado em pesquisa estatística. Apenas quando suas variáveis ​​independentes têm um grau significativo de correlação. A colinearidade não afeta diretamente a variável de resposta; Em vez disso, diz respeito às interações entre as variáveis ​​ou características preditivas. As estimativas dos coeficientes de regressão podem ser imprecisas como resultado da multicolinearidade. Pode potencialmente aumentar os erros padrão do coeficiente de regressão e diminuir a eficácia de qualquer teste t. A multicolinearidade pode fornecer resultados e valores de p, aumentando a redundância do modelo e diminuindo a eficácia e a confiabilidade da previsibilidade.

Vantagens da regressão de cume

  • Ele guarda contra o modelo se tornando overfit.
  • Não requer estimadores objetivos.
  • Existe apenas uma pequena quantidade de viés, permitindo que as estimativas sejam uma aproximação bastante precisa dos números da população genuína.
  • Quando há multicolinearidade, o estimador de cume é bastante útil para melhorar a estimativa dos mínimos quadrados.

Implementando a regressão da Ridge em Sklearn

A importação requer as seguintes bibliotecas:

de Sklearn.Linear_model Import Ridge
importar numpy como np

Crie o conjunto de dados usando o seguinte comando:

n_samples, n_features = 20, 4
dados = np.aleatório.Randomstate (0)
y = dados.Randn (n_samples)
X = dados.Randn (n_samples, n_features)
Print ('Recursos são', x)
impressão ('etiquetas são', y)

Saída:

Os recursos são [-2.55298982 0.6536186 0.8644362 -0.74216502]
[2.26975462 -1.45436567 0.04575852 -0.18718385]
[1.53277921 1.46935877 0.15494743 0.37816252]
[-0.88778575 -1.98079647 -0.34791215 0.15634897]
[1.23029068 1.20237985 -0.38732682 -0.30230275]
[-1.04855297 -1.42001794 -1.70627019 1.9507754]
[-0.50965218 -0.4380743 -1.25279536 0.77749036]
[-1.61389785 -0.21274028 -0.89546656 0.3869025]
[-0.51080514 -1.18063218 -0.02818223 0.42833187]
[0.06651722 0.3024719 -0.63432209 -0.36274117]
[-0.67246045 -0.35955316 -0.81314628 -1.7262826]
[0.17742614 -0.40178094 -1.63019835 0.46278226]
[-0.90729836 0.0519454 0.72909056 0.12898291]
[1.13940068 -1.23482582 0.40234164 -0.68481009]
[-0.87079715 -0.57884966 -0.31155253 0.05616534]
[-1.16514984 0.90082649 0.46566244 -1.53624369]
[1.48825219 1.89588918 1.17877957 -0.17992484]
[-1.07075262 1.05445173 -0.40317695 1.22244507]
[0.20827498 0.97663904 0.3563664 0.70657317]
[0.01050002 1.78587049 0.12691209 0.40198936]]
Os rótulos são [1.76405235 0.40015721 0.97873798 2.2408932 1.86755799 -0.97727788
0.95008842 -0.15135721 -0.10321885 0.4105985 0.14404357 1.45427351
0.76103773 0.12167502 0.44386323 0.33367433 1.49407907 -0.20515826
0.3130677 -0.85409574]

Criando e ajustando o modelo:

Model = Ridge (alfa = 1.0)
modelo.ajuste (x, y)

Conclusão

Discutimos o modelo de regressão de Ridge no aprendizado de máquina que é usado para executar a regularização de L2 nos dados para evitar o excesso de ajuste. É uma versão avançada de uma regressão linear simples. Também discutimos sua implementação usando Sklearn.