Régression polynomiale, Régression polynomiale, Régression polynomiale, Régression polynomiale, Régression polynomiale

Introduction

La régression polynomiale est une extension de la régression linéaire qui permet de modéliser des relations non linéaires entre une variable cible continue et une ou plusieurs variables explicatives.

Contrairement à la régression linéaire qui suppose une relation linéaire, la régression polynomiale intègre des puissances des variables pour ajuster une courbe plus flexible aux données.


Concept et formule

La régression polynomiale repose sur la transformation des variables explicatives en termes polynomiaux.

Par exemple, pour une variable xxx, on considère : y=β0+β1x+β2×2+β3×3+⋯+βdxd+εy = \beta_0 + \beta_1 x + \beta_2 x^2 + \beta_3 x^3 + \cdots + \beta_d x^d + \varepsilony=β0​+β1​x+β2​x2+β3​x3+⋯+βd​xd+ε

où ddd est le degré du polynôme choisi.


Comment ça marche ?


Avantages


Inconvénients


Exemple en Python avec scikit-learn

pythonCopierModifierfrom sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import make_pipeline
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score

# Données
X = df[['feature']]  # variable explicative
y = df['target']    # variable cible

# Séparation train/test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Modèle polynômial de degré 3
degree = 3
model = make_pipeline(PolynomialFeatures(degree), LinearRegression())
model.fit(X_train, y_train)

# Prédictions
y_pred = model.predict(X_test)

# Évaluation
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"MSE : {mse:.2f}")
print(f"R2 : {r2:.2f}")

Choix du degré du polynôme

Le degré ddd détermine la complexité du modèle :

Utiliser des techniques comme la validation croisée aide à choisir un degré optimal.


Applications


Conclusion

La régression polynomiale est une technique simple et puissante pour capturer des relations non linéaires dans les données. En comprenant bien son fonctionnement et ses limites, elle constitue une étape importante dans la boîte à outils du data scientist.

Introduction

La régression polynomiale est une extension de la régression linéaire qui permet de modéliser des relations non linéaires entre une variable cible continue et une ou plusieurs variables explicatives.

Contrairement à la régression linéaire qui suppose une relation linéaire, la régression polynomiale intègre des puissances des variables pour ajuster une courbe plus flexible aux données.


Concept et formule

La régression polynomiale repose sur la transformation des variables explicatives en termes polynomiaux.

Par exemple, pour une variable xxx, on considère : y=β0+β1x+β2×2+β3×3+⋯+βdxd+εy = \beta_0 + \beta_1 x + \beta_2 x^2 + \beta_3 x^3 + \cdots + \beta_d x^d + \varepsilony=β0​+β1​x+β2​x2+β3​x3+⋯+βd​xd+ε

où ddd est le degré du polynôme choisi.


Comment ça marche ?


Avantages


Inconvénients


Exemple en Python avec scikit-learn

pythonCopierModifierfrom sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import make_pipeline
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score

# Données
X = df[['feature']]  # variable explicative
y = df['target']    # variable cible

# Séparation train/test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Modèle polynômial de degré 3
degree = 3
model = make_pipeline(PolynomialFeatures(degree), LinearRegression())
model.fit(X_train, y_train)

# Prédictions
y_pred = model.predict(X_test)

# Évaluation
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"MSE : {mse:.2f}")
print(f"R2 : {r2:.2f}")

Choix du degré du polynôme

Le degré ddd détermine la complexité du modèle :

Utiliser des techniques comme la validation croisée aide à choisir un degré optimal.


Applications


Conclusion

La régression polynomiale est une technique simple et puissante pour capturer des relations non linéaires dans les données. En comprenant bien son fonctionnement et ses limites, elle constitue une étape importante dans la boîte à outils du data scientist.

Régression polynomiale