- Erfahren Sie, wie Sie mit Weka . ein Entscheidungsbaummodell erstellen
- Dieses Tutorial ist perfekt für Neulinge in maschinellem Lernen und Entscheidungsbäumen, und für diejenigen, die mit dem Programmieren nicht vertraut sind.
Einführung
“Je größer das Hindernis, mehr Ruhm erhält man, wenn man ihn überwindet”.
– Moliere
Maschinelles Lernen kann für Nicht-Techniker einschüchternd sein. Alle Machine-Learning-Jobs scheinen ein gesundes Verständnis von Python zu erfordern (das R).
Dann, Wie bekommen Nicht-Programmierer Programmiererfahrung?? Es ist kein Kinderspiel!
Das ist die gute Nachricht: Es gibt viele Tools, mit denen wir maschinelle Lernaufgaben ausführen können, ohne codieren zu müssen. Sie können ganz einfach Algorithmen als Entscheidungsbäume in einer schönen grafischen Oberfläche von Grund auf neu erstellen. Ist das nicht der Traum? Diese Werkzeuge, como Put, Sie helfen uns hauptsächlich, mit zwei Dingen umzugehen:
- Erstellen Sie schnell ein Modell für maschinelles Lernen, als Entscheidungsbaum, und verstehen, wie der Algorithmus funktioniert. Dies kann später geändert werden und basiert auf
- Dies ist ideal, um dem Kunden zu zeigen / Ihr Führungsteam womit Sie arbeiten
Dieser Artikel zeigt Ihnen, wie Sie Klassifikations- und Regressionsprobleme mit Entscheidungsbäumen in Weka ohne Programmierkenntnisse lösen können!!
Aber wenn Sie sich leidenschaftlich gerne mit Programmierung und maschinellem Lernen die Hände schmutzig machen, Ich schlage vor, Sie belegen die folgenden wunderbar ausgewählten Kurse:
Inhaltsverzeichnis
- Klassifizierung vs. Regression beim maschinellen Lernen
- Entscheidungsbäume verstehen
- Erkundung des Datensatzes in Weka
- Klassifizierung nach dem Entscheidungsbaum in Weka
- Entscheidungsbaumparameter in Weka
- Anzeigen eines Entscheidungsbaums in Weka
- Regression mit dem Entscheidungsbaum in Weka
Klassifizierung vs. Regression beim maschinellen Lernen
Lassen Sie mich zunächst kurz zusammenfassen, was Klassifikation und Regression im Kontext von . sind maschinelles Lernen. Es ist wichtig, diese Konzepte zu kennen, bevor Sie in Entscheidungsbäume eintauchen.
EIN Einstufung Problem Es geht darum, Ihrem Modell für maschinelles Lernen beizubringen, wie Sie einen Datenwert in eine von vielen Klassen kategorisieren können. Dies geschieht durch das Erlernen der Merkmale jeder Art von Klasse. Zum Beispiel, um vorherzusagen, ob ein Bild von einer Katze oder einem Hund ist, das Modell lernt die Eigenschaften von Hund und Katze in den Trainingsdaten.
EIN Rückschritt Problem Es geht darum, Ihrem Modell für maschinelles Lernen beizubringen, den zukünftigen Wert einer kontinuierlichen Größe vorherzusagen. Es tut dies, indem es das Muster der Menge in der Vergangenheit lernt, die von verschiedenen Variablen beeinflusst wurde.. Zum Beispiel, Ein Modell, das versucht, den zukünftigen Kurs der Aktie eines Unternehmens vorherzusagen, ist ein Regressionsproblem.
Diese beiden Probleme finden Sie in Hülle und Fülle in unserem Plataforma DataHack.
Jetzt, lernen wir einen Algorithmus kennen, der beide Probleme löst: Entscheidungsbäume!
Entscheidungsbäume verstehen
Entscheidungsbäume sie sind auch bekannt als Klassifikations- und Regressionsbäume (WAGEN). Sie arbeiten, indem sie Antworten auf eine Hierarchie von Fragen lernen, wenn / wenn nicht führt das zu einer entscheidung. Diese Fragen bilden eine baumartige Struktur, und daher der Name.
Zum Beispiel, sagen wir, wir wollen vorhersagen, ob eine Person Essen bestellt oder nicht. Dazu können wir uns folgenden Entscheidungsbaum visualisieren:
Jeder Knoten in der Baumstruktur stellt eine Frage dar, die von den in Ihrem Datensatz vorhandenen Merkmalen abgeleitet wird.. Basierend auf diesen Fragen wird Ihr Datensatz unterteilt, bis die maximale Tiefe des Baums erreicht ist.. Der letzte Knoten stellt keine Frage, es stellt dar, zu welcher Klasse der Wert gehört.
- Der oberste Knoten des Entscheidungsbaums heißt Rnodo oot
- Der unterste Knoten heißt Leaf Knoten
- Ein in Unterknoten unterteilter Knoten heißt Elternknoten. Die Unterknoten heißen Sekundärknoten
Wenn Sie Entscheidungsbäume im Detail verstehen wollen, Ich schlage vor, dass Sie sich die folgenden Ressourcen ansehen:
Was ist Weka? Warum Sie Weka für maschinelles Lernen verwenden sollten?
“Stellen ist kostenlose Open-Source-Software mit einer Reihe von integrierten Algorithmen für maschinelles Lernen, auf die Sie über eine grafische Benutzeroberfläche zugreifen können. “
WEKA Es repräsentiert Waikato-Umgebung für Wissensanalyse und wurde an der University of Waikato . entwickelt, Neuseeland.
Weka verfügt über mehrere integrierte Funktionen, um eine Vielzahl von Algorithmen für maschinelles Lernen zu implementieren, von der linearen Regression zum neuronalen Netz. Auf diese Weise können Sie auf Knopfdruck die komplexesten Algorithmen in Ihrem Datensatz implementieren!! Nicht nur das, Weka bietet Unterstützung für den Zugriff auf einige der gängigsten Python- und R-Bibliotheksalgorithmen für maschinelles Lernen!
Mit Weka können Sie die Daten vorverarbeiten, klassifizieren Sie sie, gruppiere sie und sieh sie dir sogar an. Dies kann in verschiedenen Dateiformaten wie ARFF . erfolgen, CSV, C4.5 und JSON. Mit Weka können Sie Ihrem Datensatz sogar Filter hinzufügen, mit denen Sie Ihre Daten normalisieren können., standardisieren, Swap-Funktionen zwischen nominalen und numerischen Werten, und vieles mehr!
Ich könnte mit dem Wunder fortfahren, das Weka ist, aber für den Umfang dieses Artikels, Versuchen wir, Weka praktisch zu erkunden, indem wir einen Entscheidungsbaum erstellen. Machen Sie jetzt weiter und laden Sie Weka von Ihrem . herunter offizielle Website!
Erkundung des Datensatzes in Weka
Ich nehme den Brustkrebs-Datensatz von UCI-Repository für maschinelles Lernen. Ich empfehle Ihnen, sich über das Problem zu informieren, bevor Sie fortfahren..
Laden wir zuerst den Datensatz in Weka. Das zu tun, folgen Sie den unteren Schritten:
- Öffnen Sie die Weka-GUI
- Wähle aus “Forscher” Möglichkeit.
- Bitte auswählen “Dokument öffnen” und wählen Sie Ihren Datensatz.
So sollte Ihr Weka-Fenster nun aussehen:
Auf der linken Seite sehen Sie alle Funktionen in Ihrem Datensatz. Weka erstellt automatisch Diagramme für seine Funktionen, die Sie beim Durchsuchen der Funktionen bemerken werden.
Sie können sogar alle Pakete zusammen sehen, wenn Sie auf klicken “Alle ansehen” Taste.
Jetzt trainieren wir unser Klassifizierungsmodell!
Klassifizierung mit Entscheidungsbaum in Weka
Einen Entscheidungsbaum in Weka zu implementieren ist ganz einfach. Führen Sie einfach die folgenden Schritte aus:
- Klicken Sie auf die “Aussortieren” Reiter oben
- Klicken Sie auf die “Wählen” Taste
- In der Dropdown-Liste, auswählen “Bäume” wodurch alle Algorithmen im Baum geöffnet werden
- Schließlich, auswählen das “Wiederholungsbaum” Entscheidungsbaum
”Reduzierter Fehler beim Beschneiden des Baums (Wiederholungsbaum) ist ein schneller Entscheidungsbaum-Lerner, der einen Entscheidungsbaum erstellt / Regression mit Informationsgewinn als Divisionskriterium und bereinigte es mit einem reduzierten Fehler-Bereinigungsalgorithmus “.
“Der Entscheidungsbaum unterteilt die Knoten in alle verfügbaren Variablen und wählt dann die Aufteilung aus, die zu den homogensten Unterknoten führt”.
Der Informationsgewinn wird verwendet, um die Homogenität der Probe in einer Division zu berechnen.
Sie können Ihre Zielrolle aus dem Dropdown-Menü direkt über dem auswählen “Start” Taste. Wenn nicht, WEKA wählt automatisch die letzte Funktion als Ziel für Sie aus.
das “Prozentuale Aufteilung” gibt die Datenmenge an, die Sie behalten möchten, um den Klassifikator zu trainieren. Die restlichen Daten werden während der Testphase verwendet, um die Präzision des Modells zu berechnen..
Mit “Faltung mit Kreuzvalidierung” kann mehrere Samples erstellen (oder Falten) aus dem Trainingsdatensatz. Wenn Sie sich entscheiden, N-Falten zu erstellen, das Modell wird iterativ N-mal ausgeführt. Und jedes Mal, wenn eine der Falten zur Validierung gehalten wird, während die verbleibenden N-1-Falten verwendet werden, um das Modell zu trainieren. Das Ergebnis aller Faltungen wird gemittelt, um das Ergebnis der Kreuzvalidierung zu erhalten.
Je größer die Anzahl der Kreuzvalidierungsfalten ist, die Sie verwenden, desto besser wird dein Modell. Dadurch wird das Modell mit zufällig ausgewählten Daten trainiert, was macht es robuster.
Schließlich, drücke die “Start” Schaltfläche für den Klassifikator, um seine Magie zu entfalten!!
Unser Klassifikator hat eine Genauigkeit von 92,4%. Weka druckt sogar die Verwirrung Matrix für dich, was bietet verschiedene Metriken. Sie können die Konfusionsmatrix und andere Metriken hier im Detail studieren.
Entscheidungsbaumparameter in Weka
Entscheidungsbäume haben viele Parameter. Wir können sie anpassen, um die Gesamtleistung unseres Modells zu verbessern. Hier spielt praktisches Wissen über Entscheidungsbäume eine entscheidende Rolle..
Sie können auf diese Parameter zugreifen, indem Sie oben auf Ihren Entscheidungsbaum-Algorithmus klicken:
Lassen Sie uns kurz über die wichtigsten Parameter sprechen:
- Maximale Tiefe ,– Bestimmen Sie die maximale Tiefe Ihres Entscheidungsbaums. Standardmäßig, es ist -1, was bedeutet, dass der Algorithmus die Tiefe automatisch steuert. Sie können diesen Wert jedoch manuell ändern, um die besten Ergebnisse mit Ihren Daten zu erzielen.
- konnte nicht – Pruning bedeutet, dass ein Blattknoten, der nicht viele Informationen enthält, automatisch reduziert wird. Dies macht den Entscheidungsbaum einfach und leicht zu interpretieren..
- AnzahlFalten – Die angegebene Anzahl von Datenfaltungen wird verwendet, um den Entscheidungsbaum zu bereinigen. Der Rest wird verwendet, um die Regeln zu erweitern.
- minNum – Mindestanzahl von Instanzen pro Blatt. Wenn nicht erwähnt, der Baum wird sich weiter aufteilen, bis alle Blattknoten nur eine zugeordnete Klasse haben.
Sie können jederzeit mit verschiedenen Werten für diese Parameter experimentieren, um die beste Präzision in Ihrem Datensatz zu erhalten..
Anzeigen Ihres Entscheidungsbaums in Weka
Weka ermöglicht Ihnen sogar die einfache Visualisierung des Entscheidungsbaums, der auf Ihrem Datensatz erstellt wurde.:
- Gehe zum “Ergebnisliste” Abschnitt und klicken Sie mit der rechten Maustaste auf Ihren trainierten Algorithmus
- Wählen Sie das “Baum ansehen” Möglichkeit
Ihr Entscheidungsbaum sieht wie folgt aus:
Diese Werte zu interpretieren kann etwas einschüchternd sein, aber es ist eigentlich ganz einfach, wenn man den Dreh raus hat.
- Die Werte der Linien, die die Knoten verbinden, stellen die Aufteilungskriterien basierend auf den Werten der Hauptknotenfunktion dar.
- Im Blattknoten:
- Der Wert vor den Klammern bezeichnet den Rangwert.
- Der erste Wert in den ersten Klammern ist die Gesamtzahl der Instanzen des Trainingssatzes auf diesem Blatt. Der zweite Wert ist die Anzahl der falsch klassifizierten Instanzen auf diesem Blatt.
- Der erste Wert in der zweiten Klammer ist die Gesamtzahl der Instanzen des Beschneidungssatzes auf diesem Blatt. Der zweite Wert ist die Anzahl der falsch klassifizierten Instanzen auf diesem Blatt.
Regression mit dem Entscheidungsbaum in Weka
Wie ich bereits gesagt habe, Entscheidungsbäume sind so vielseitig, dass sie sowohl bei Klassifikations- als auch bei Regressionsproblemen eingesetzt werden können. Dafür, Ich werde die verwenden “Sagen Sie die Anzahl der Stimmen voraus“Problem von Plattform DataHack von DataPeaker.
Hier, Wir müssen die Bewertung einer Frage vorhersagen, die von einem Benutzer auf einer Frage-und-Antwort-Plattform gestellt wurde.
Wie gewöhnlich, Wir beginnen mit dem Laden der Datendatei. Aber dieses mal, die Daten enthalten auch a “ICH WÜRDE” Spalte für jeden Benutzer im Datensatz. Dies wäre für die Vorhersage nicht nützlich. Dann, Wir löschen diese Spalte, indem wir die “Entfernen” Option unter Spaltennamen:
Wir können Vorhersagen über den Datensatz treffen, wie wir es für die Brustkrebsproblem. Wiederholungsbaum erkennt automatisch das Regressionsproblem:
Die im Hackathon bereitgestellte Bewertungsmetrik ist der RMSE-Score. Wir können sehen, dass das Modell ohne Feature-Engineering einen sehr schlechten RMSE hat. Hier kommt es ins Spiel: voaus, experimentieren und das endgültige Modell verbessern!
Abschließende Anmerkungen
Und so, Sie haben ein Entscheidungsbaummodell erstellt, ohne dass Sie programmieren müssen! Dies ist eine große Hilfe bei Ihrem Bestreben, die Funktionsweise von Modellen für maschinelles Lernen zu beherrschen..
Wenn Sie den Programmierteil des maschinellen Lernens erlernen und erkunden möchten, Ich schlage vor, Sie folgen diesen wunderbar ausgewählten Kursen auf der Vidhya-Analytik Webseite: