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 module sklearn.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 objet PolynomialFeatures 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 exemple x₁ et x₂).
    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 de X, on obtient un vecteur étendu avec tous les termes jusqu’au degré 3.