Le data mining / l'apprentissage automatique avec BayesiaLab
Découvrez les connaissances enfouies dans vos bases de données
Vous avez des données que vous ne parvenez pas à analyser ? Vous vous posez des questions quant aux relations entre les variables de votre base de données et sur la segmentation de vos enregistrements ? Il vous faudra à peine quelques minutes pour découvrir les relations cachées de vos données avec BayesiaLab.
Etape 1- L'importation des données via l'assistant de BayesiaLab
- Choix des séparateurs de la base de données
- Définition des valeurs manquantes et filtrées
- Echantillonnage et découpage des données en ensembles d'apprentissage/test
- Typage des variables (discret, continu, poids, type de données (apprentissage ou test))
- Prétraitement via les outils d'agrégation des modalités discrètes et de discrétisation des variables continues, choix d'une variable cible
Etape 2 - L'apprentissage : plusieurs méthodes, une large gamme d'algorithmes
Les données sont importées : BayesiaLab a créé un réseau avec vos variables d'intérêt. Il s'agit maintenant de trouver les relations entre elles. Voici les méthodes proposées par BayesiaLab :
-
La découverte d'associations (apprentissage non supervisé) permet de découvrir l'ensemble des relations probabilistes directes présentes au sein des données. + plus »
Le nombre de réseaux bayésiens possibles est tel qu'il est impossible (sauf cas extrêmes) de faire une recherche exhaustive du meilleur réseau. Les méthodes d'apprentissage reposent donc sur des heuristiques permettant de réduire l'espace de recherche. BayesiaLab propose cinq méthodes d'apprentissage structurel (structure du réseau bayésien et tables de probabilités) conceptuellement différentes, de la plus rapide à la plus lente. Les heuristiques mises en oeuvre étant différentes, les résultats entre chaque méthode peuvent différer. Par contre, toutes ces méthodes reposent sur la minimisation de la même métrique (score MDL).
- Arbre de recouvrement maximal : s'effectuant en seulement deux passes, cet algorithme est de loin le plus rapide. La première passe consiste à calculer a priori le poids de toutes les relations binaires entre variables, la seconde consiste ensuite à construire l'arbre de recouvrement maximal avec ces relations. Même si le réseau obtenu n'est pas optimal, il peut être utilisé pour une première imputation des valeurs manquantes, comme réseau initial pour une recherche Taboo ou EQ, ou encore pour construire le graphe nécessaire à la segmentation de variables lorsqu'il y a beaucoup de variables. Il est possible de choisir parmi deux scores différents pour cet apprentissage : le Minimum Description Length et la corrélation de Pearson.
- Taboo : apprentissage reposant sur la stratégie de recherche Taboo dans l'espace défini par les réseaux bayésiens. Cette méthode est particulièrement utile pour l'affinage de réseaux construits par expertise ou pour la mise à jour de réseaux appris sur des ensembles d'apprentissage différents. En effet, au delà de la prise en compte de la connaissance a priori définie par un réseau Bayésien et un nombre d'exemples équivalant, cet algorithme commence sa recherche à partir du réseau courant (et non à partir d'un réseau complètement déconnecté comme c'est le cas avec SopLEQ et Taboo Order). En outre, les arcs fixés (les bleus) restent inchangés et les arcs interdits sont pris en compte.
- EQ : algorithme d'apprentissage recherchant les classes d'équivalence des réseaux bayésiens. Cette méthode est très efficace car elle permet d'éviter beaucoup de minima locaux et de diminuer fortement la taille de l'espace de recherche. Comme l'algorithme Taboo, EQ peut commencer sa recherche à partir du réseau courant. Cependant les arcs fixés restent inchangés et les arcs interdits sont pris en compte.
- SopLEQ : algorithme d'apprentissage reposant sur une première phase de caractérisation globale des données et sur l'exploitation des propriétés d'équivalence de réseaux bayésiens. Les arcs fixés sont considérés comme des arcs normaux mais les arcs interdits sont pris en compte.
- Taboo Order : algorithme d'apprentissage utilisant la recherche Taboo dans l'espace défini par les ordres de noeuds des réseaux bayésiens. En effet, trouver le meilleur réseau bayésien pour un ordre de noeuds donné est une tâche aisée qui consiste uniquement à choisir les parents de chaque noeud parmi l'ensemble des noeuds apparaissant avant lui dans l'ordre considéré. Cette méthode est la méthode de recherche la plus complète, mais aussi la plus coûteuse en temps de calcul. Les arcs fixés sont considérés comme des arcs normaux mais les arcs interdits sont pris en compte.
-
L'apprentissage supervisé se focalise entièrement sur la caractérisation de la variable cible et permet d'établir très rapidement son profil probabiliste. + plus »
BayesiaLab met à votre disposition plusieurs algorithmes de caractérisation :
Architecture naïve : réseau bayésien à architecture contrainte dans laquelle le noeud cible est le père de tous les autres noeuds. Cette structure stipule donc que la variable cible est la cause directe de toutes les autres variables et que la connaissance de sa valeur rend chaque noeud indépendant des autres. Malgré cette forte hypothèse, fausse dans la plupart des cas, le faible nombre de probabilités à estimer rend cette structure très robuste, avec un temps d'apprentissage très court puisque seuls les tables de probabilités sont à estimer.
Architecture naïve augmentée : structure partiellement contrainte permettant de relâcher la forte contrainte d'indépendance conditionnelle mentionnée ci-dessus. L'architecture est composée d'une architecture naïve, enrichie des relations entre les noeuds fils sachant la valeur du noeud cible. Cet algorithme permet l'obtention de résultats plus précis que ceux obtenus par l'architecture naïve, mais la recherche non supervisée des relations entre fils peut être coûteuse en temps (complexité quadratique en fonction du nombre de fils).
Architecture naïve augmentée avec arbre (TAN) : structure partiellement contrainte permettant de relâcher la forte contrainte d'indépendance conditionnelle mentionnée ci-dessus.
L'architecture est composée d'une architecture naïve sur laquelle un arbre de recouvrement maximal est appris. Cet algorithme permet l'obtention de résultats plus précis que ceux obtenus par l'architecture naïve, tout en étant plus rapide que l'architecture naïve augmentée.
Enfants & Epouses : structure dans laquelle le noeud cible est le père d'un sous-ensemble de noeuds ayant potentiellement d'autres parents (épouses). Cette structure est en quelque sorte une architecture naïve augmentée dans laquelle les fils ne sont pas fixés a priori, mais recherchés en fonction de leur dépendance marginale avec la cible. Cet algorithme présente donc l'avantage de mettre en évidence l'ensemble des noeuds n'étant pas liés à la cible. Le coût en temps reste cependant du même ordre que celui de l'architecture naïve augmentée. -
Couverture de Markov : algorithme de recherche des noeuds appartenant à la couverture de Markov de la cible, c'est à dire les noeuds pères, les noeuds fils et les épouses. La connaissance des valeurs de chaque noeud de ce sous-ensemble permet de rendre le noeud cible complètement indépendant des autres. La recherche de cette structure, entièrement focalisée sur le noeud cible, permet d'obtenir le sous-ensemble des noeuds réellement pertinents dans un temps très largement inférieur aux temps des deux architectures précédentes. Cette méthode constitue en outre un puissant algorithme de sélection de variables et un très bon outil d'analyse : nombre restreint de noeuds connectés, relations probabilistes typées :
- pères : noeuds plus informatifs lorsqu'ils sont associés à d'autres noeuds que séparément ;
- fils : noeuds ayant une dépendance probabiliste directe avec la cible ;
- épouses : noeuds marginalement indépendants de la cible mais devenant informatifs quand la valeur du fils est connue.
Couverture de Markov augmentée : algorithme reposant sur une structure en couverture de Markov à laquelle se greffe une recherche non supervisée des relations probabilistes entre chacune des variables appartenant à la couverture de Markov. Cette recherche entraîne un coût supplémentaire en temps mais permet un gain en précision par rapport à la version précédente.
Couverture de Markov augmentée minimale : la sélection des variables opérée par les deux algorithmes précédents est une recherche heuristique. L'ensemble des noeuds sélectionnés peut donc être dans certains cas non minimal, en particulier lorsqu'il existe plusieurs chemins d'influence entre la cible et les noeuds. Dans ce cas, l'analyse de la cible prend en compte trop de noeuds. En appliquant un apprentissage non supervisé sur l'ensemble des noeuds sélectionnés, l'algorithme Couverture de Markov augmentée minimale permet la réduction de cet ensemble et donc une analyse de la cible plus précise.
Apprentissage semi-supervisé : algorithme de recherche non supervisée parmi les noeuds appartenant à un rayon défini autour de la cible. La distance de chaque noeud à la cible est calculée par l'intermédiaire de l'algorithme de recherche de la couverture de Markov. Cet algorithme permet donc d'apprendre un fragment de réseau centré sur une variable cible. Cela peut être particulièrement utile lorsqu'il y a beaucoup de noeuds (comme l'analyse des biopuces à ADN en génétique par exemple), ou encore dans des problématiques de prédiction d'une variable cible pour laquelle les noeuds de la couverture de Markov de la cible ont des valeurs manquantes, ces noeuds ne permettant plus de rendre indépendant la cible des autres noeuds.
-
L'apprentissage non supervisé pour la recherche de nouveaux concepts (segmentation, clustering) : permet de répartir vos enregistrements en classes (partitions) sémantiquement signifiantes, regroupant des enregistrements partageant certaines caractéristiques. Vous pouvez ainsi facilement créer une typologie (de clients, de patients, de produits, etc.) et définir des politiques adaptées à chaque segment découvert. + plus »
Voici les paramètres qui déterminent la segmentation effectuée :
- Nombre de classes fixé : l'algorithme tente de segmenter les données suivant le nombre de classes saisi. Il se peut toutefois que le nombre final de partitions soit inférieur.
- Sélection automatique du nombre de classes : la recherche du nombre de clusters est réalisée par une marche aléatoire commençant avec le nombre de clusters spécifié et dont le nombre augmente jusqu'à obtention de clusters vides, instables, ou encore, jusqu'à atteindre le nombre maximum de clusters défini. La marche aléatoire se poursuit alors en fonction des résultats obtenus lors des pas précédents.
- Options :
-
la taille des échantillons permet d'exécuter l'apprentissage sur des sous-ensembles de données pour améliorer la vitesse de convergence (un échantillonnage par pas/essai). La partition obtenant le meilleur score sert alors de partition initiale pour la recherche sur l'ensemble des données ;
-
le nombre de pas alloué à la marche aléatoire. Sachant qu'il est possible à tout moment d'interrompre la recherche tout en conservant le meilleur clustering, ce nombre peut être exagérément grand.
-
il est également possible d'associer un poids à chaque variable du réseau. Ces poids, qui par défaut sont égaux à 1, permettent d'orienter la segmentation. Un poids supérieur à 1 impliquera une prise en compte plus importante de la variable dans la segmentation. Un poids nul remisera la variable à un rôle purement illustratif.
-
A l'issue de la segmentation, une analyse automatique du réseau obtenu est réalisée et donne lieu à un rapport délivré sous forme textuel. Ce rapport est un rapport d'analyse de la cible comportant notamment le profil probabiliste de chacun des clusters.
Il est également possible de générer une Cartographie de la segmentation obtenue. Cette représentation graphique met en évidence trois caractéristiques des clusters :
- la couleur représente la pureté des clusters : plus un cluster est bleu plus il est pur
- la taille représente la probabilité a priori du cluster
- la distance entre deux clusters représente le voisinage moyen des deux clusters
- La segmentation de variables est particulièrement utile pour découvrir de nouveaux concepts et synthétiser les variables cachées correspondantes avec la classification non supervisée. Vous pourrez ainsi découvrir les relations probabilistes entre ces variables latentes et les variables manifestes (modèles hiérarchiques, équations structurelles automatiques).
Etape 3 : analysez, exploitez le réseau créé
Exemples d'applications en data mining
-
Segmentation des consommateurs
Présentation à la conférence SKIM (Barcelone, mai 2008) d'une méthode novatrice pour la segmentation des consommateurs par réseaux bayésiens (en collaboration avec Repères).
- Caractérisation de clients, élaboration de profils Apprentissage de profil de clients à partir d'une base de donnée, caractérisation pour prédire les produits adaptés et détecter les fraudes.
- Text mining : identification de noms de sociétés Le text-mining avec BayesiaLab.
- Analyse politique Analyse des résultats des élections présidentielles françaises d'avril 2007.
- Détection de cyber-crimes
- Optimisation de la production par analyse du retour d'expérience A travers cette étude de cas, découvrez la puissance de l'apprentissage automatique de BayesiaLab pour exploiter et valoriser vos données issues du retour d'expérience.
- Analyse de questionnaires de satisfaction La satisfaction des clients passée au crible avec BayesiaLab.
- Analyse du transcriptome Bioinformatique avec BayesiaLab.
- Analyse des trajectoires de santé Prévision du besoin médical avec BayesiaLab.
- Mise en oeuvre d'un score bayésien Mise en oeuvre d'un score bayésien et utilisation du module graphique pour visualiser les données.



Télécharger
Lire
Voir