Créer des caractéristiques d’interaction et polynomiales
PolynomialFeatures, termes d’interaction manuels, caractéristiques de ratio et discrétisation des variables continues.
Créer des caractéristiques d’interaction et polynomiales est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Pourquoi créer de nouvelles variables
Les modèles linéaires ne capturent que les relations en ligne droite. En créant des variables d’interaction et des variables polynomiales, vous permettez à des modèles simples d’exprimer des courbes et des effets combinés entre les variables.
Que sont les variables d’interaction
Une interaction multiplie deux variables, par exemple area = length * width. Elle capture les effets qui dépendent simultanément des deux entrées et qu’aucune des deux ne permet d’expliquer seule.
Notions de base de PolynomialFeatures
PolynomialFeatures génère automatiquement les puissances et les produits des variables jusqu’au degree choisi. Le degré 2 ajoute les carrés et les produits deux à deux.
from sklearn.preprocessing import PolynomialFeatures
import numpy as np
X = np.array([[2, 3]])
poly = PolynomialFeatures(degree=2)
print(poly.fit_transform(X))
# 1, x1, x2, x1^2, x1*x2, x2^2Mode interaction_only
Définir interaction_only=True conserve les produits croisés, mais supprime les puissances seules comme x1^2. Cette option est utile lorsque vous souhaitez uniquement les effets combinés, et non la courbure.
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2, interaction_only=True, include_bias=False)
X_int = poly.fit_transform(X)Attention à l’explosion du nombre de variables
Les degrés élevés créent de nombreuses variables et augmentent le risque de surapprentissage. Avec 10 entrées, le degré 3 produit des centaines de colonnes. Gardez un degré faible (2 ou 3) et combinez cette approche avec une sélection de variables ou une régularisation.
Créer manuellement des variables de rapport
La connaissance du domaine l’emporte souvent sur la force brute. Des rapports conçus manuellement, comme le prix au mètre carré ou le nombre de clics par impression, encodent un sens que le développement polynomial ne pourrait pas découvrir.
import pandas as pd
df["price_per_sqm"] = df["price"] / df["area"]
df["ctr"] = df["clicks"] / df["impressions"]Discrétisation avec pd.cut
La discrétisation transforme une variable continue en catégories. pd.cut divise une colonne en intervalles, ce qui est utile pour capturer des effets non linéaires ou regrouper les âges, les revenus, etc.
import pandas as pd
df["age_group"] = pd.cut(
df["age"],
bins=[0, 18, 35, 60, 120],
labels=["minor", "young", "adult", "senior"],
)Discrétisation à fréquences égales
pd.qcut crée des intervalles contenant approximativement le même nombre de valeurs (quantiles), ce qui est pratique lorsque la distribution est asymétrique et que vous souhaitez obtenir des groupes équilibrés.
import pandas as pd
df["income_quartile"] = pd.qcut(df["income"], q=4, labels=False)Corriger l’asymétrie par transformation logarithmique
Les variables asymétriques à droite (revenus, prix, nombres) nuisent à de nombreux modèles. Une transformation logarithmique comprime les grandes valeurs et rend la distribution plus symétrique.
import numpy as np
# log1p handles zeros safely: log(1 + x)
df["log_income"] = np.log1p(df["income"])Racine carrée et autres transformations
La transformation par racine carrée réduit également l’asymétrie, mais plus modérément que le logarithme ; elle convient bien aux données de comptage. Choisissez la transformation qui symétrise le mieux l’histogramme.
import numpy as np
df["sqrt_count"] = np.sqrt(df["count"])
# inspect df["sqrt_count"].hist() to confirm reduced skewAssembler le tout
Combinez les approches : appliquez une transformation logarithmique aux colonnes asymétriques, discrétisez lorsque les seuils sont importants, ajoutez des rapports issus de la connaissance du domaine et utilisez PolynomialFeatures pour les interactions. Vérifiez toujours que les nouvelles variables améliorent réellement les résultats de validation croisée.
Vérification rapide
Vérifiez vos connaissances sur la création de variables.
Récapitulatif
Récapitulatif : créez des variables pour aider les modèles simples. PolynomialFeatures avec degree et interaction_only ajoute des produits et des puissances (surveillez l’explosion du nombre de variables). Construisez des rapports manuels à partir de la connaissance du domaine, discrétisez avec pd.cut/pd.qcut et corrigez l’asymétrie avec des transformations logarithmiques ou par racine carrée. Validez toujours les améliorations.
Questions Fréquemment Posées
La leçon « Créer des caractéristiques d’interaction et polynomiales » est-elle gratuite ?
Oui — le texte complet de « Créer des caractéristiques d’interaction et polynomiales » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Créer des caractéristiques d’interaction et polynomiales » ?
PolynomialFeatures, termes d’interaction manuels, caractéristiques de ratio et discrétisation des variables continues. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Créer des caractéristiques d’interaction et polynomiales » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Méthodes de sélection des caractéristiques
- Créer des caractéristiques d’interaction et polynomiales
- Encodage de la cible et gestion avancée des catégories
- Ingénierie automatisée des caractéristiques avec Featuretools