Régression linéaire régularisée

Réduction de dimensionnalité en Python

Jeroen Boeye

Head of Machine Learning, Faktion

Concept du modèle linéaire

caractéristiques vers cible

Réduction de dimensionnalité en Python

Créer notre propre ensemble de données

x1 x2 x3
1.76 -0.37 -0.60
0.40 -0.24 -1.12
0.98 1.10 0.77
... ... ...
Réduction de dimensionnalité en Python

Créer notre propre ensemble de données

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

3 distributions de caractéristiques

Réduction de dimensionnalité en Python

Créer notre propre ensemble de données

3 distributions de caractéristiques

Créons notre propre variable cible :

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

Réduction de dimensionnalité en Python

Régression linéaire en Python

from sklearn.linear_model import LinearRegression

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

# Actual coefficients = [5 2 0]
print(lr.coef_)
[ 4.95  1.83 -0.05]
# Actual intercept = 20
print(lr.intercept_)
19.8
Réduction de dimensionnalité en Python

Régression linéaire en Python

# Calculates R-squared
print(lr.score(X_test, y_test))
0.976
Réduction de dimensionnalité en Python

Régression linéaire en Python

from sklearn.linear_model import LinearRegression

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

# Actual coefficients = [5 2 0]
print(lr.coef_)
[ 4.95  1.83 -0.05]
Réduction de dimensionnalité en Python

Fonction de perte : erreur quadratique moyenne

prédite vs réelle

Réduction de dimensionnalité en Python

Fonction de perte : erreur quadratique moyenne

prédite vs réelle avec EQM

Réduction de dimensionnalité en Python

Ajouter une régularisation

prédite vs réelle avec EQM + formule

Réduction de dimensionnalité en Python

Ajouter une régularisation

prédite vs réelle avec EQM + formule + annotations

Réduction de dimensionnalité en Python

Ajouter une régularisation

prédite vs réelle avec EQM + formule + alpha

Réduction de dimensionnalité en Python

Régression Lasso

from sklearn.linear_model import Lasso

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

# Actual coefficients = [5 2 0]
print(la.coef_)
[4.07 0.59 0.  ]
print(la.score(X_test, y_test))
0.861
Réduction de dimensionnalité en Python

Régression Lasso

from sklearn.linear_model import Lasso

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

# Actual coefficients = [5 2 0]
print(la.coef_)
[ 4.91  1.76 0.  ]
print(la.score(X_test, y_test))
0.974
Réduction de dimensionnalité en Python

Passons à la pratique !

Réduction de dimensionnalité en Python

Preparing Video For Download...