Régression polynomiale

La régression polynomiale est une méthode statistique utilisée pour modéliser la relation entre une variable dépendante et une ou plusieurs variables indépendantes lorsque cette relation n’est pas linéaire. L’objectif est d’ajuster une équation polynomiale qui prédit la valeur de la variable cible à partir des variables explicatives.

Cette méthode repose sur l’idée que la relation entre les variables peut être représentée par une courbe (parabole, cubic, etc.) plutôt que par une droite. Les coefficients du polynôme sont estimés en minimisant la somme des carrés des différences entre les valeurs observées et les valeurs prédites (méthode des moindres carrés).

La régression polynomiale est utilisée en science des données, économie, ingénierie, physique et dans d’autres domaines pour modéliser des relations complexes, prédire des résultats et analyser l’impact des variables explicatives.

La qualité du modèle peut être évaluée à l’aide de métriques telles que le coefficient de détermination (R²) et l’erreur quadratique moyenne.

En résumé, la régression polynomiale permet de modéliser et d’interpréter des relations non linéaires dans les données.

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)
    Résultat du code

    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.

⚠️ Ce contenu est réservé aux membres Premium

Abonnez-vous pour débloquer cette page et accéder à tous nos contenus exclusifs.

Souscrire maintenant