🛒 Prédicteur d'abandon de panier — Souches boostées en direct
Observez un véritable ensemble AdaBoost de souches de décision s'entraîner en direct sur des caractéristiques de sessions d'achat simulées, chaque apprenant faible corrigeant les sessions mal classées du tour précédent.
À propos de cette simulation
Cet entraîneur exécute un véritable ensemble AdaBoost sur un jeu de données e-commerce synthétique. Chaque session d'achat porte cinq caractéristiques à valeur réelle — durée de session, articles dans le panier, valeur du panier, nombre de pages vues et un indicateur de visiteur récurrent — et une étiquette (abandonné ou converti) tirée d'une règle non linéaire sous-jacente plus du bruit. Chaque tour de boosting effectue une recherche pondérée exhaustive de la souche de décision à une seule caractéristique et un seul seuil ayant l'erreur de classification pondérée la plus faible, lui attribue un poids de vote à partir de ce taux d'erreur, et repondère de façon exponentielle les échantillons qu'elle a mal classés afin que la souche suivante soit forcée de se spécialiser sur les cas difficiles.
🔬 Ce que ça montre
Les sessions sont tracées sous forme de points dans une projection 3D pivotable de caractéristiques (durée, valeur du panier, pages vues) ; la taille des points est proportionnelle au poids AdaBoost actuel de l'échantillon, de sorte que les sessions qui continuent d'être mal classées gonflent visiblement tour après tour. La frontière de décision de la souche du tour actif est tracée en direct lorsque sa caractéristique de division se trouve sur un axe affiché, et un graphique en continu suit à la fois l'erreur pondérée de la souche du tour et l'erreur d'entraînement 0/1 réelle de l'ensemble à mesure qu'elles diminuent.
🎮 Comment l'utiliser
Définissez le nombre de tours à exécuter et la granularité de recherche de souche (combien de seuils candidats par caractéristique sont scannés), puis avancez d'un tour à la fois ou exécutez tous les tours en continu. Régénérer réechantillonne un nouvel ensemble d'entraînement synthétique et un ensemble de test à partir de la même règle sous-jacente. Le curseur de taux d'apprentissage applique un véritable rétrécissement AdaBoost au poids de vote de chaque souche. Les statistiques en direct indiquent le tour actuel, l'erreur d'entraînement pondérée de ce tour et la précision de l'ensemble sur des sessions de test jamais vues.
💡 Le saviez-vous ?
Aucune souche de décision seule ne peut bien séparer ce jeu de données car la véritable règle d'abandon combine deux caractéristiques différentes (un rebond rapide à faible engagement OU un panier de valeur élevée d'un visiteur pour la première fois). C'est exactement pourquoi AdaBoost a été inventé : une séquence de divisions simples, individuellement faibles et alignées sur les axes, combinées via le schéma de repondération exponentielle, peut tracer une frontière de décision qu'aucune souche seule ne pourrait jamais dessiner.
Questions fréquentes
Qu'est-ce qu'AdaBoost et pourquoi utiliser des souches de décision comme apprenants faibles ?
AdaBoost (Adaptive Boosting) construit un classificateur fort en combinant de nombreux apprenants faibles en un vote à majorité pondérée. Une souche de décision — une division à une seule caractéristique et un seul seuil — est l'apprenant faible classique car il lui suffit de faire légèrement mieux qu'une estimation aléatoire. La puissance d'AdaBoost vient du schéma de repondération : après chaque tour, les échantillons que l'ensemble actuel classe mal voient leur poids augmenté, forçant la souche suivante à se concentrer sur les cas difficiles. Combinée sur suffisamment de tours, une séquence de souches très simples peut approximer une frontière de décision bien plus complexe que ce qu'une seule souche pourrait représenter.
Comment la meilleure souche de chaque tour est-elle réellement choisie ?
Pour chaque caractéristique candidate (durée de session, articles dans le panier, valeur du panier, pages vues, indicateur de visiteur récurrent), l'algorithme scanne les seuils candidats entre les valeurs d'entraînement triées et, pour les deux polarités de la division, calcule l'erreur de classification pondérée en utilisant les poids actuels par échantillon. La souche avec l'erreur pondérée la plus faible sur toutes les caractéristiques, tous les seuils et toutes les polarités est sélectionnée — il s'agit d'une recherche exhaustive et authentique, pas d'un raccourci heuristique, de sorte que l'erreur du tour est un minimum réel sur l'ensemble candidat à la granularité de recherche choisie.
Comment les poids des échantillons et des souches (alpha) sont-ils mis à jour ?
Étant donné l'erreur pondérée ε de la souche gagnante, son poids de vote est alpha = 0,5·ln((1−ε)/ε), mis à l'échelle par le contrôle de taux d'apprentissage (rétrécissement). Le poids de chaque échantillon d'entraînement est ensuite multiplié par exp(−alpha·y·h(x)) — réduisant le poids des échantillons correctement classés et augmentant de façon exponentielle celui des échantillons mal classés — avant que tout le vecteur de poids soit renormalisé pour sommer à un. C'est exactement la règle de mise à jour d'AdaBoost.M1, et c'est pourquoi les sessions répétitivement mal classées grossissent visiblement en points plus grands tour après tour.
Pourquoi l'erreur d'entraînement augmente-t-elle parfois légèrement entre les tours ?
Le graphique suit l'erreur d'entraînement 0/1 réelle de l'ensemble à vote majoritaire pondéré croissant, pas seulement l'erreur pondérée de la souche la plus récente. Comme chaque nouvelle souche est choisie pour corriger les échantillons que l'ensemble classe actuellement mal, son ajout peut occasionnellement faire basculer quelques échantillons à faible poids auparavant corrects. La tendance globale reste une diminution authentique et vérifiable de l'erreur d'entraînement de l'ensemble à mesure que les tours s'accumulent, ce qui est la marque de la convergence du boosting.
Qu'est-ce qui détermine si une session est abandonnée dans les données simulées ?
Chaque session synthétique reçoit cinq caractéristiques et une étiquette générée à partir d'une règle sous-jacente réelle et non linéaire : une session est marquée comme abandonnée si elle ressemble à un rebond rapide à faible engagement (durée courte et peu de pages vues) OU à un panier de valeur élevée provenant d'un visiteur pour la première fois qui hésite avant le paiement — avec environ 8 % de bruit d'étiquette aléatoire superposé. Comme cette règle combine deux caractéristiques différentes, aucune souche de décision seule ne peut la séparer parfaitement, ce qui explique exactement pourquoi un ensemble de plusieurs souches est nécessaire et pourquoi l'erreur d'entraînement continue de s'améliorer au fil des tours.
Une véritable boucle AdaBoost.M1 : recherche pondérée exhaustive de souches de décision sur cinq caractéristiques, mises à jour exponentielles des poids d'échantillons, vote alpha mis à l'échelle par rétrécissement, et un ensemble à vote majoritaire pondéré évalué sur un ensemble de test synthétique à chaque tour.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install