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 PolynomialFeatures
Attributs :
Paramètre
Description
degree
Le 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_only
Si True
, seules les caractéristiques d'interaction (sans termes quadratiques) sont générées. Par défaut, il est égal àFalse
.include_bias
Si True
, la colonne de biais (constante 1) sera ajoutée à la matrice de sortie. Par défaut, il est égal àTrue
.order
Dé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 PolynomialFeatures
importe 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 objetPolynomialFeatures
configuré 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.