Regressão linear regularizada

Redução de Dimensionalidade em Python

Jeroen Boeye

Head of Machine Learning, Faktion

Conceito de modelo linear

de features para target

Redução de Dimensionalidade em Python

Criando nosso próprio conjunto de dados

x1 x2 x3
1.76 -0.37 -0.60
0.40 -0.24 -1.12
0.98 1.10 0.77
... ... ...
Redução de Dimensionalidade em Python

Criando nosso próprio conjunto de dados

x1 x2 x3
1.76 -0.37 -0.60
0.40 -0.24 -1.12
0.98 1.10 0.77
... ... ...

3 distribuições de features

Redução de Dimensionalidade em Python

Criando nosso próprio conjunto de dados

3 distribuições de features

Criando nossa própria variável alvo:

$y = 20 + 5x_1 + 2x_2 + 0x_3 + error$

Redução de Dimensionalidade em Python

Regressão linear em Python

from sklearn.linear_model import LinearRegression

lr = LinearRegression()
lr.fit(X_train, y_train)

# Coeficientes reais = [5 2 0]
print(lr.coef_)
[ 4.95  1.83 -0.05]
# Intercepto real = 20
print(lr.intercept_)
19.8
Redução de Dimensionalidade em Python

Regressão linear em Python

# Calcula o R-quadrado
print(lr.score(X_test, y_test))
0.976
Redução de Dimensionalidade em Python

Regressão linear em Python

from sklearn.linear_model import LinearRegression

lr = LinearRegression()
lr.fit(X_train, y_train)

# Coeficientes reais = [5 2 0]
print(lr.coef_)
[ 4.95  1.83 -0.05]
Redução de Dimensionalidade em Python

Função de perda: Mean Squared Error

previsto vs. real

Redução de Dimensionalidade em Python

Função de perda: Mean Squared Error

previsto vs. real com MSE

Redução de Dimensionalidade em Python

Adicionando regularização

previsto vs. real com MSE + fórmula

Redução de Dimensionalidade em Python

Adicionando regularização

previsto vs. real com MSE + fórmula + anotações

Redução de Dimensionalidade em Python

Adicionando regularização

previsto vs. real com MSE + fórmula + alpha

Redução de Dimensionalidade em Python

Regressor Lasso

from sklearn.linear_model import Lasso

la = Lasso()
la.fit(X_train, y_train)

# Coeficientes reais = [5 2 0]
print(la.coef_)
[4.07 0.59 0.  ]
print(la.score(X_test, y_test))
0.861
Redução de Dimensionalidade em Python

Regressor Lasso

from sklearn.linear_model import Lasso

la = Lasso(alpha=0.05)
la.fit(X_train, y_train)

# Coeficientes reais = [5 2 0]
print(la.coef_)
[ 4.91  1.76 0.  ]
print(la.score(X_test, y_test))
0.974
Redução de Dimensionalidade em Python

Vamos praticar!

Redução de Dimensionalidade em Python

Preparing Video For Download...