Mis a jour le 2025-04-14, 12:10

Régression linéaire

Régression linéaire :
  • Fitting : si Xtrain est l'array 2d des variables indépendantes (variables en colonnes) et Ytrain est le vecteur de la variable dépendante, pour les données de training :
    from sklearn.linear_model import LinearRegression
    regressor = LinearRegression()
    regressor.fit(Xtrain, ytrain)
    ytest = regressor.predict(Xtest)
        
  • regressor.coef_ contient alors les coefficients de la régression.
  • regressor.intercept_ contient l'ordonnée à l'origine.
  • on peut avoir directement le R2 d'un dataset : score = df.score(Xtest, ytest)
  • pour imposer une ordonnée à l'origine nulle : regressor = LinearRegression(fit_intercept = False).
Elastic Net : combine une régularisation de type L2 (ridge regression) avec une régularisation de type L1 (LASSO)
  • from sklearn.linear_model import ElasticNet
    regressor = ElasticNet()
    regressor.fit(Xtrain, ytrain)
    ytest = regressor.predict(Xtest)
        
  • on peut donner les 2 paramètres ElasticNet(alpha = 1, l1_ratio = 0.5) :
    • alpha est le coefficient global du terme de régularisation (plus il est élevé, plus la pénalité est forte)
    • l1_ratio est la pondération entre 0 et 1 affectée à L1 (1 - l1_ratio affectée à L2)
  • score = regressor.score(Xtest, ytest) : renvoie le R2.

Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert