Régression polynomiale
Fonctions :
-
PolynomialFeatures()
La fonction PolynomialFeatures() génère de nouvelles caractéristiques sous forme de puissances de chaque caractéristique présente dans les données d'entrée. Elle permet de transformer les données de manière à introduire des termes polynomiaux, ce qui peut aider à ajuster des modèles plus complexes, comme les régressions polynomiales. Cela est particulièrement utile pour l’extension des modèles linéaires en un modèle non linéaire.
Importation :
from sklearn.preprocessing import PolynomialFeaturesAttributs :
Paramètre
Description
degreeLe degré du polynôme. Par défaut, il est égal à 2, ce qui signifie que seules les puissances jusqu'à 2 sont générées (termes linéaires et quadratiques).interaction_onlySi True, seules les caractéristiques d'interaction (sans termes quadratiques) sont générées. Par défaut, il est égal àFalse.include_biasSi True, la colonne de biais (constante 1) sera ajoutée à la matrice de sortie. Par défaut, il est égal àTrue.orderDéfinit l'ordre des fonctionnalités produites. Par défaut, il est égal à 'C', ce qui génère des fonctionnalités dans l'ordre C-contigu.'F'permet de les générer dans l'ordre Fortran-contigu.Exemple de code :
# Importation de la classe PolynomialFeatures from sklearn.preprocessing import PolynomialFeatures # Création d'un objet PolynomialFeatures pour générer des termes polynomiaux de degré 3 poly = PolynomialFeatures(degree=3) # Exemple de données d'entrée X = [[1, 2], [3, 4], [5, 6]] # Transformation des données avec des caractéristiques polynomiales X_poly = poly.fit_transform(X) # Affichage des caractéristiques polynomiales print(X_poly)
Explication du code :
from sklearn.preprocessing import PolynomialFeaturesimporte la classe PolynomialFeatures du modulesklearn.preprocessing, utilisée pour générer de nouvelles caractéristiques polynomiales à partir des données existantes.Création de l’objet PolynomialFeatures
poly = PolynomialFeatures(degree=3)crée un objetPolynomialFeaturesconfiguré pour générer toutes les combinaisons polynomiales possibles jusqu’au degré 3 (y compris interactions et puissances) à partir des variables d’entrée.Exemple de données d’entrée
X = [[1, 2], [3, 4], [5, 6]]définit un ensemble de données sous forme de liste de 3 échantillons, chacun contenant 2 caractéristiques (par exemplex₁etx₂).Transformation des données avec des caractéristiques polynomiales
X_poly = poly.fit_transform(X)applique la transformation polynomiale aux données d’entrée.
Cela génère une nouvelle matrice contenant : un biais (colonne de 1), les variables d’origine (x₁,x₂), leurs produits croisés et puissances :x₁²,x₁x₂,x₂²,x₁³,x₁²x₂,x₁x₂²,x₂³.
Cela permet de capturer des relations non linéaires entre les variables lors d’un apprentissage (ex : régression polynomiale).Affichage des caractéristiques polynomiales
print(X_poly)affiche la nouvelle matrice contenant toutes les caractéristiques générées.
Pour chaque ligne deX, on obtient un vecteur étendu avec tous les termes jusqu’au degré 3.