Nous avons donc un potentiel pour une application d'apprentissage automatique qui s'intègre assez bien dans le domaine de problème traditionnel résolu par les classificateurs, c'est-à-dire que nous avons un ensemble d'attributs décrivant un élément et un "compartiment" dans lequel ils se retrouvent. Cependant, plutôt que de créer des modèles de probabilités comme dans Naive Bayes ou des classificateurs similaires, nous voulons que notre sortie soit un ensemble de règles à peu près lisibles par l'homme qui peuvent être revues et modifiées par un utilisateur final.
L'apprentissage des règles d'association ressemble à la famille d'algorithmes qui résout ce type de problème, mais ces algorithmes semblent se concentrer sur l'identification de combinaisons communes de fonctionnalités et n'incluent pas le concept d'un dernier compartiment vers lequel ces fonctionnalités pourraient pointer. Par exemple, notre ensemble de données ressemble à ceci:
Item A { 4-door, small, steel } => { sedan }
Item B { 2-door, big, steel } => { truck }
Item C { 2-door, small, steel } => { coupe }
Je veux juste les règles qui disent "si c'est grand et un 2 portes, c'est un camion", pas les règles qui disent "si c'est un 4 portes c'est aussi petit".
Une solution de contournement à laquelle je peux penser consiste à simplement utiliser des algorithmes d'apprentissage des règles d'association et à ignorer les règles qui n'impliquent pas de compartiment final, mais cela semble un peu hacky. Ai-je raté une famille d'algorithmes? Ou peut-être que j'aborde le problème de manière incorrecte pour commencer?
la source
C'est en fait encore plus simple que cela, d'après ce que vous décrivez --- vous recherchez juste un algorithme d'arbre de classification de base (donc pas besoin de variantes légèrement plus complexes comme C4.5 qui sont optimisées pour la précision des prédictions). Le texte canonique est:
http://www.amazon.com/Classification-Regression-Wadsworth-Statistics-Probability/dp/0412048418
Ceci est facilement implémenté dans R:
http://cran.r-project.org/web/packages/tree/tree.pdf
et Python:
http://scikit-learn.org/stable/modules/tree.html
la source
Vous pouvez jeter un œil à l'apprenant des règles CN2 dans Orange 2 http://orange.biolab.si/orange2/
la source
Vous devriez essayer le package d' arules dans R. Il vous permet de créer non seulement les règles d'association mais également de spécifier la longueur de chaque règle, l'importance de chaque règle et vous pouvez également les filtrer, ce que vous recherchez (essayez le commande rhs () de ce paquet).
la source