Algorithmus zum Generieren von Klassifizierungsregeln


11

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?

Antworten:


9

C45 von Quinlan kann Regeln für die Vorhersage erzeugen. Überprüfen Sie diese Wikipedia- Seite. Ich weiß, dass es in Weka J48 heißt. Ich habe keine Ahnung, welche Implementierungen in R oder Python sind. Auf jeden Fall sollten Sie aus dieser Art von Entscheidungsbaum in der Lage sein, Regeln für die Vorhersage abzuleiten.

Später bearbeiten

Möglicherweise interessieren Sie sich auch für Algorithmen zum direkten Ableiten von Klassifizierungsregeln. RIPPER ist eine, die in Weka wieder einen anderen Namen JRip erhielt. Siehe das Originalpapier für RIPPER: Fast Effective Rule Induction, WW Cohen 1995


Ich hatte in einem früheren Projekt mit C45 / J48 experimentiert. Mir war nicht klar, dass es Regeln gab, die ich daraus abrufen konnte. Ich werde auch RIPPER auschecken. Vielen Dank!
Super_seabass


Wollte ein Update für diese Frage / Antwort bereitstellen: Wir haben JRip mit einigem Erfolg eingesetzt, aber unser neuer führender Anwärter ist FURIA ( cs.uni-paderborn.de/fileadmin/Informatik/eim-i-is/PDFs/…). ). Es generiert die besten Regeln für die Überprüfung / Verwendung durch den Menschen, da versucht wird, einen vollständigen Regelsatz zu generieren. JRip macht nette Regeln, aber es gibt eine "Standard" -Regel für die Klassifizierung, wenn keine anderen Regeln gelten. Standard-Buckets funktionieren im Geschäftskontext unseres Projekts nicht gut. Wir benötigen umfassende Regeln.
Super_seabass

7

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


Ich bin nicht der Meinung, dass Bäume hier hilfreich sind. Es ist eine Frage der Filterregeln, und das kann mit dem Arules- Paket in R.
Adesantos


1

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).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.