0Pricing
Learn AI with Python · Leçon

Ingénierie automatisée des caractéristiques avec Featuretools

EntitySet, DFS (Deep Feature Synthesis), primitives de caractéristiques, empilement d’agrégations.

Ingénierie automatisée des caractéristiques avec Featuretools est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 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.

Automatiser la création de caractéristiques

La création manuelle de caractéristiques est lente et fait facilement manquer certaines combinaisons. Featuretools construit automatiquement de nombreuses caractéristiques candidates à partir de données relationnelles grâce à une méthode appelée synthèse approfondie de caractéristiques.

Données relationnelles et entités

Les données réelles s’étendent souvent sur plusieurs tables liées : clients, commandes et produits. Featuretools modélise ces relations et génère automatiquement des caractéristiques qui agrègent les données à travers ces liens.

Créer un EntitySet

Un EntitySet est le conteneur qui regroupe vos trames de données et décrit leurs relations. Commencez par en créer un vide.

import featuretools as ft

es = ft.EntitySet(id="customers_data")

Ajouter des trames de données

es.add_dataframe enregistre une table. Vous indiquez son index (clé unique) et, facultativement, un time_index pour les données temporelles.

import featuretools as ft

es = es.add_dataframe(
    dataframe_name="customers",
    dataframe=customers_df,
    index="customer_id",
)
es = es.add_dataframe(
    dataframe_name="orders",
    dataframe=orders_df,
    index="order_id",
    time_index="order_date",
)

Définir les relations

Indiquez à Featuretools comment les tables sont reliées avec add_relationship : une clé parente est associée à une clé étrangère enfant (un client possède plusieurs commandes).

es = es.add_relationship(
    "customers", "customer_id",
    "orders", "customer_id",
)

Synthèse approfondie de caractéristiques

DFS (ft.dfs) est le moteur de cette opération. Il empile des opérations à travers les relations pour créer des caractéristiques comme « valeur moyenne des commandes par client », sans que vous ayez à coder chacune d’elles.

import featuretools as ft

feature_matrix, feature_defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
)

Primitives d’agrégation

Les primitives d’agrégation résument les lignes enfants au niveau du parent : SUM, MEAN, COUNT, MAX, STD. Elles transforment de nombreuses commandes en statistiques par client.

feature_matrix, defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
    agg_primitives=["mean", "sum", "count", "max"],
)

Primitives de transformation

Les primitives de transformation opèrent au sein d’une seule ligne ou table : extraire le mois d’une date, calculer le temps écoulé depuis une date ou prendre des valeurs absolues.

feature_matrix, defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
    trans_primitives=["month", "weekday", "time_since_previous"],
)

Contrôler la profondeur avec max_depth

max_depth limite le nombre de primitives empilées. Une profondeur de 1 correspond aux agrégations directes ; une profondeur de 2 applique une transformation, puis une agrégation (par exemple, la moyenne du jour de la semaine des commandes). Une profondeur plus élevée produit davantage de caractéristiques, mais augmente aussi les risques.

feature_matrix, defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
    max_depth=2,
)

Utiliser la matrice de caractéristiques

La feature_matrix obtenue est une trame de données propre, indexée par l’entité cible et prête à être fournie à un modèle. feature_defs documente chaque caractéristique générée.

print(feature_matrix.shape)
print(feature_matrix.head())

X = feature_matrix.fillna(0)
# now train any sklearn model on X

Atouts et précautions

Featuretools produit rapidement de nombreuses caractéristiques et révèle des signaux relationnels. Cependant, il peut générer des centaines de colonnes : associez-le donc à une sélection de caractéristiques. Pour éviter les fuites avec des données temporelles, définissez correctement cutoff_time.

Vérification rapide

Évaluez vos connaissances sur Featuretools.

Récapitulatif

Récapitulatif : Featuretools automatise la création de caractéristiques. Construisez un EntitySet, enregistrez les tables avec es.add_dataframe, définissez les relations, puis exécutez ft.dfs avec max_depth. Les primitives d’agrégation regroupent les lignes enfants au niveau des parents ; les primitives de transformation opèrent au sein d’une ligne. La feature_matrix est prête pour un modèle : associez-la à une sélection de caractéristiques.

Questions Fréquemment Posées

La leçon « Ingénierie automatisée des caractéristiques avec Featuretools » est-elle gratuite ?

Oui — le texte complet de « Ingénierie automatisée des caractéristiques avec Featuretools » 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 « Ingénierie automatisée des caractéristiques avec Featuretools » ?

EntitySet, DFS (Deep Feature Synthesis), primitives de caractéristiques, empilement d’agrégations. 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 4 sur 4.

Combien de temps prend la leçon « Ingénierie automatisée des caractéristiques avec Featuretools » ?

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

  1. Méthodes de sélection des caractéristiques
  2. Créer des caractéristiques d’interaction et polynomiales
  3. Encodage de la cible et gestion avancée des catégories
  4. Ingénierie automatisée des caractéristiques avec Featuretools
← Retour à Learn AI with Python