dimanche 22 novembre 2009

Induction de Règles Prédictives

L’induction de règles tient une place privilégiée dans le Data Mining. En effet, elle fournit un modèle prédictif facilement interprétable, on sait lire sans connaissances statistiques préalables un modèle de prédiction de type « Si condition Alors Conclusion » (ex. Si Compte Client à découvert Alors Client défaillant pour remboursement des crédits ») ; les règles peuvent être facilement implémentées dans les systèmes d’information (ex. traduction d’une règle en requête SQL).

Nous nous plaçons dans le cadre de l’apprentissage supervisé dans ce didacticiel. Parmi les méthodes d’induction des règles prédictives, les approches « separate-and-conquer » ont monopolisé les conférences d’apprentissage automatique dans les années 90. Curieusement, le souffle semble un peu retombé aujourd’hui. Plus ennuyeux encore, elles sont peu implémentées, voire inexistantes, dans les logiciels commerciaux. Il faut se tourner vers les logiciels libres issues de l’apprentissage automatique (la communauté « machine learning ») pour les trouver. Pourtant, elles présentent plusieurs atouts par rapport aux autres techniques.

Dans ce didacticiel, une fois n’est pas coutume, nous décrivons dans un premier temps les techniques « separate-and-conquer » pour l’induction de règles. Je trouve en effet que ces méthodes sont peu connues des praticiens du Data Mining et, de ce fait, peu utilisées. Pourtant elles sont souvent performantes. Elles constituent une alternative tout à fait valable aux arbres de décision. Nous mettrons l’accent sur les approches par spécialisation, par opposition aux approches par généralisation, plus lentes et quasi-introuvables dans les logiciels.

Dans un second temps, nous montrons la mise en œuvre des différentes variantes implémentées dans les logiciels de Data Mining. Nous utiliserons Tanagra 1.4.34, Sipina Recherche 3.3, Weka 3.6.0, R 2.9.2 avec le package RWeka, RapidMiner 4.6, et Orange 2.0b.

Mots clés : induction de règles, règles prédictives, listes de décision, base de connaissances, CN2, arbres de décision
Composants : SAMPLING, DECISION LIST, RULE INDUCTION, TEST
Lien : fr_Tanagra_Rule_Induction.pdf
Données : life_insurance.zip
Références :
J. Furnkranz, "Separate-and-conquer Rule Learning", Artificial Intelligence Review, Volume 13, Issue 1, pages 3-54, 1999.
P. Clark, T. Niblett, "The CN2 Rule Induction Algorithm", Machine Learning, 3(4):261-283, 1989.
P. Clark, R. Boswell, "Rule Induction with CN2: Some recent improvements", Machine Learning - EWSL-91, pages 151-163, Springer Verlag, 1991.

Tanagra - Version 1.4.34

Un composant d'induction de règles prédictives (RULE INDUCTION) a été ajouté dans la section " Apprentissage Supervisé ". Son utilisation est décrite dans un didacticiel accessible en ligne.

Le composant DECISION LIST a été amélioré, nous avons modifié le test réalisé lors de la procédure de pré-élagage. La formule est décrite dans le même didacticiel que ci-dessus.

Les composants SAMPLING et STRATIFIED SAMPLING (onglet Instance Selection) ont été légèrement modifiés. Il est maintenant possible de contrôler le générateur de nombres pseudo aléatoires en fixant nous même la valeur de départ de la " graine ".

Suite à une indication de Anne Viallefont, le calcul des degrés de liberté dans les tests sur tableaux de contingence est maintenant plus générique. En effet, le calcul était erroné lorsque la base était préalablement filtrée et que certaines marges (ligne ou colonne) contenaient un effectif égal à zéro. Merci Anne pour ces indications. De manière plus générale, merci à tous ceux qui m'envoient des commentaires. Programmer a toujours été pour moi une sorte de loisir. Le vrai boulot commence lorsqu'il faut contrôler les résultats, les confronter avec les références disponibles, les croiser avec les autres logiciels de Data Mining, libres ou non, comprendre les éventuelles différences, etc. A ce stade, votre aide m'est très précieuse.