Wir haben also das Potenzial für eine Anwendung für maschinelles Lernen, die ziemlich gut in die traditionelle Problemdomäne passt, die durch Klassifizierer gelöst wird, dh wir haben eine Reihe von Attributen, die ein Element und einen "Bucket" beschreiben, in dem sie landen. Anstatt jedoch Modelle zu erstellen Bei Wahrscheinlichkeiten wie in Naive Bayes oder ähnlichen Klassifikatoren möchten wir, dass unsere Ausgabe eine Reihe von ungefähr für Menschen lesbaren Regeln ist, die von einem Endbenutzer überprüft und geändert werden können.
Das Lernen von Assoziationsregeln sieht aus wie die Familie von Algorithmen, die diese Art von Problem löst, aber diese Algorithmen scheinen sich auf die Identifizierung gängiger Merkmalskombinationen zu konzentrieren und enthalten nicht das Konzept eines endgültigen Buckets, auf das diese Merkmale hinweisen könnten. Zum Beispiel sieht unser Datensatz ungefähr so aus:
Item A { 4-door, small, steel } => { sedan }
Item B { 2-door, big, steel } => { truck }
Item C { 2-door, small, steel } => { coupe }
Ich möchte nur die Regeln, die besagen: "Wenn es groß und zweitürig ist, ist es ein Lastwagen", nicht die Regeln, die besagen: "Wenn es ein Viertürer ist, ist es auch klein."
Eine Problemumgehung, die ich mir vorstellen kann, besteht darin, einfach Algorithmen zum Lernen von Assoziationsregeln zu verwenden und die Regeln zu ignorieren, die keinen End-Bucket beinhalten, aber das scheint ein bisschen hackig zu sein. Habe ich da draußen eine Familie von Algorithmen verpasst? Oder gehe ich das Problem zunächst falsch an?
quelle
Es ist sogar noch einfacher als das, was Sie beschreiben - Sie suchen nur nach einem grundlegenden Klassifizierungsbaumalgorithmus (daher sind keine etwas komplexeren Varianten wie C4.5 erforderlich, die für die Vorhersagegenauigkeit optimiert sind). Der kanonische Text lautet:
http://www.amazon.com/Classification-Regression-Wadsworth-Statistics-Probability/dp/0412048418
Dies ist leicht in R implementiert:
http://cran.r-project.org/web/packages/tree/tree.pdf
und Python:
http://scikit-learn.org/stable/modules/tree.html
quelle
Sie können einen Blick auf CN2 Regel Lerner nehmen in Orange 2 http://orange.biolab.si/orange2/
quelle
Sie sollten das arules- Paket in R ausprobieren . Es ermöglicht Ihnen, nicht nur die Zuordnungsregeln zu erstellen, sondern auch die Länge jeder Regel, die Wichtigkeit jeder Regel anzugeben und sie zu filtern, wonach Sie suchen (probieren Sie die aus Befehl rhs () dieses Pakets).
quelle