Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Frontière de Décision | Régression Logistique
Classification avec Python

bookFrontière de Décision

Traçons les résultats de la régression logistique. Considérons l'exemple suivant avec deux variables :

Une fois la régression logistique construite, il est possible de tracer une frontière de décision. Celle-ci indique la région de chaque classe où de nouvelles instances sont prédites comme appartenant à cette classe. Par exemple, voici la frontière de décision de la régression logistique appliquée aux données ci-dessus :

On observe que la ligne sépare parfaitement les deux classes ici. Lorsque cela se produit, l'ensemble de données est qualifié de linéairement séparable. Cependant, ce n'est pas toujours le cas. Que se passerait-il si l'ensemble de données ressemblait à ceci :

Ci-dessus se trouve une frontière de décision pour un ensemble de données légèrement différent. Ici, les données ne sont pas linéairement séparables ; par conséquent, les prédictions faites par la régression logistique sont imparfaites. Malheureusement, par défaut, la régression logistique ne peut pas prédire des frontières de décision plus complexes, il s'agit donc de la meilleure prédiction possible.

Cependant, il faut se rappeler que la régression logistique est dérivée de la régression linéaire, qui propose une solution au problème d'un modèle trop simple. Cette solution est la régression polynomiale, et il est possible d'utiliser son équation pour calculer zz afin d'obtenir une frontière de décision de forme plus complexe :

z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \beta_3 x_1^2 + \beta_4 x_1 x_2 + \beta_5 x_2^2

Comme en régression polynomiale, il est possible d'utiliser le transformateur PolynomialFeatures pour ajouter des termes polynomiaux aux variables explicatives, ce qui aide le modèle à apprendre des schémas plus complexes.

from sklearn.preprocessing import PolynomialFeatures

X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)

Cette ligne transforme les variables explicatives originales dans X en ajoutant :

  • Termes au carré (par exemple, x2x^2) ;
  • Termes d'interaction (par exemple, x1x2x_1 \cdot x_2 s'il y a plusieurs variables).

Par exemple, si X contient initialement deux variables : [x1,x2][x_1, x_2], alors après application de PolynomialFeatures(2, include_bias=False), on obtient : [x1,x2,x12,x1x2,x22][x_1, x_{2}, x_{1}\\^{2} , x_{1} x_{2}, x_{2}\\^{2}]

Cela permet à des modèles comme la régression logistique de capturer des relations non linéaires et de produire des frontières de décision plus flexibles et courbées. Cependant, augmenter excessivement le degré peut conduire à un modèle qui s'ajuste trop bien aux données d'entraînement, un problème appelé surapprentissage. C'est pourquoi il est recommandé d'essayer d'abord des degrés faibles et d'évaluer le modèle avec soin.

question mark

Pourquoi aurait-on besoin de variables polynomiales en régression logistique ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain what a decision boundary is in more detail?

How does PolynomialFeatures help Logistic Regression with non-linear data?

What is overfitting and how can I prevent it when using polynomial features?

Awesome!

Completion rate improved to 4.17

bookFrontière de Décision

Glissez pour afficher le menu

Traçons les résultats de la régression logistique. Considérons l'exemple suivant avec deux variables :

Une fois la régression logistique construite, il est possible de tracer une frontière de décision. Celle-ci indique la région de chaque classe où de nouvelles instances sont prédites comme appartenant à cette classe. Par exemple, voici la frontière de décision de la régression logistique appliquée aux données ci-dessus :

On observe que la ligne sépare parfaitement les deux classes ici. Lorsque cela se produit, l'ensemble de données est qualifié de linéairement séparable. Cependant, ce n'est pas toujours le cas. Que se passerait-il si l'ensemble de données ressemblait à ceci :

Ci-dessus se trouve une frontière de décision pour un ensemble de données légèrement différent. Ici, les données ne sont pas linéairement séparables ; par conséquent, les prédictions faites par la régression logistique sont imparfaites. Malheureusement, par défaut, la régression logistique ne peut pas prédire des frontières de décision plus complexes, il s'agit donc de la meilleure prédiction possible.

Cependant, il faut se rappeler que la régression logistique est dérivée de la régression linéaire, qui propose une solution au problème d'un modèle trop simple. Cette solution est la régression polynomiale, et il est possible d'utiliser son équation pour calculer zz afin d'obtenir une frontière de décision de forme plus complexe :

z=β0+β1x1+β2x2+β3x12+β4x1x2+β5x22z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \beta_3 x_1^2 + \beta_4 x_1 x_2 + \beta_5 x_2^2

Comme en régression polynomiale, il est possible d'utiliser le transformateur PolynomialFeatures pour ajouter des termes polynomiaux aux variables explicatives, ce qui aide le modèle à apprendre des schémas plus complexes.

from sklearn.preprocessing import PolynomialFeatures

X_poly = PolynomialFeatures(2, include_bias=False).fit_transform(X)

Cette ligne transforme les variables explicatives originales dans X en ajoutant :

  • Termes au carré (par exemple, x2x^2) ;
  • Termes d'interaction (par exemple, x1x2x_1 \cdot x_2 s'il y a plusieurs variables).

Par exemple, si X contient initialement deux variables : [x1,x2][x_1, x_2], alors après application de PolynomialFeatures(2, include_bias=False), on obtient : [x1,x2,x12,x1x2,x22][x_1, x_{2}, x_{1}\\^{2} , x_{1} x_{2}, x_{2}\\^{2}]

Cela permet à des modèles comme la régression logistique de capturer des relations non linéaires et de produire des frontières de décision plus flexibles et courbées. Cependant, augmenter excessivement le degré peut conduire à un modèle qui s'ajuste trop bien aux données d'entraînement, un problème appelé surapprentissage. C'est pourquoi il est recommandé d'essayer d'abord des degrés faibles et d'évaluer le modèle avec soin.

question mark

Pourquoi aurait-on besoin de variables polynomiales en régression logistique ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4
some-alt