weka dataset classifier
In diesem Tutorial werden der WEKA-Datensatz, der Klassifizierer und der J48-Algorithmus für den Entscheidungsbaum erläutert. Enthält auch Informationen zu ARFF-Beispieldatensätzen für Weka:
In dem Vorheriges Tutorial Wir lernten das Weka Machine Learning-Tool, seine Funktionen und das Herunterladen, Installieren und Verwenden der Weka Machine Learning-Software kennen.
WEKA ist eine Bibliothek von Algorithmen für maschinelles Lernen zur Lösung von Data Mining-Problemen mit realen Daten. WEKA bietet auch eine Umgebung für die Entwicklung vieler Algorithmen für maschinelles Lernen. Es verfügt über eine Reihe von Tools zum Ausführen verschiedener Data Mining-Aufgaben wie Datenklassifizierung, Datenclustering, Regression, Attributauswahl, häufiges Item-Set-Mining usw.
Alle diese Aufgaben können in der Datei sample.ARFF ausgeführt werden, die im WEKA-Repository verfügbar ist, oder Benutzer können ihre Datendateien vorbereiten. Die .arff-Beispieldateien sind Datensätze mit integrierten historischen Daten, die von Forschern gesammelt wurden.
=> Lesen Sie die komplette Schulungsreihe zum maschinellen Lernen durch
In diesem Tutorial sehen wir einige Beispieldatensätze in WEKA und führen auch ein Data Mining für Entscheidungsbaumalgorithmen mit dem Dataset weather.arff durch.
Was du lernen wirst:
Erkunden von WEKA-Datensätzen
Das WEKA-Tool für maschinelles Lernen bietet ein Verzeichnis einiger Beispieldatensätze. Diese Datensätze können direkt in WEKA geladen werden, damit Benutzer sofort mit der Entwicklung von Modellen beginnen können.
Die WEKA-Datensätze können über den Link 'C: Programme Weka-3-8 data' durchsucht werden. Die Datensätze sind im .arff-Format.
Beispiel für WEKA-Datensätze
Einige in WEKA vorhandene Beispieldatensätze sind in der folgenden Tabelle aufgeführt:
S.No. | Beispieldatensätze |
---|---|
7. | diabetes.arff |
1. | airline.arff |
2. | Brustkrebs.arff |
3. | Kontaktlinse.arff |
Vier. | cpu.arff |
5. | cpu.with-vendor.arff |
6. | credit-g.arff |
8. | glass.arff |
9. | hypothyroid.arff |
10. | ionospehre.arff |
elf. | iris.2D.arff |
12. | iris.arff |
13. | labour.arff |
14. | ReutersCorn-train.arff |
fünfzehn. | ReutersCorn-test.arff |
16. | ReutersGrain-train.arff |
17. | ReutersGrain-test.arff |
18. | segment-Challenge.arff |
19. | segment-test.arff |
zwanzig. | sojabohne.arff |
einundzwanzig. | supermarkt.arff |
22. | unausgeglichen.arff |
2. 3. | stimmen.arff |
24. | weather.numeric.arff |
25. | weather.nominal.arff |
Schauen wir uns einige davon an:
Kontaktlinse.arff
Der Datensatz kontaktlinsen.arff ist eine Datenbank zum Anpassen von Kontaktlinsen. Es wurde vom Spender Benoit Julien im Jahr 1990 gespendet.
Datenbank: Diese Datenbank ist vollständig. Die in dieser Datenbank verwendeten Beispiele sind vollständig und rauschfrei. Die Datenbank verfügt über 24 Instanzen und 4 Attribute.
Attribute: Alle vier Attribute sind nominal. Es fehlen keine Attributwerte. Die vier Attribute lauten wie folgt:
# 1) Alter des Patienten: Das Attribut Alter kann Werte annehmen:
- jung
- prä-presbyopisch
- presbyopisch
#zwei) Brillenrezept: Dieses Attribut kann Werte annehmen:
- kurzsichtig
- Hypermetrope
#3) Astigmatisch: Dieses Attribut kann Werte annehmen
- Nein
- Ja
# 4) Tränenproduktionsrate: Die Werte können sein
- reduziert
- normal
Klasse: Hier werden drei Klassenbezeichnungen definiert. Diese sind:
- Der Patient sollte mit harten Kontaktlinsen ausgestattet sein.
- Der Patient sollte mit weichen Kontaktlinsen ausgestattet sein.
- Der Patient sollte nicht mit Kontaktlinsen ausgestattet sein.
Klassenverteilung: Die Instanzen, die in Klassenbezeichnungen klassifiziert sind, werden unten aufgeführt:
Klassenbezeichnung | Anzahl der Instanzen | |
---|---|---|
1. | Harte Kontaktlinsen | 4 |
2. | Weiche Kontaktlinsen | 5 |
3. | Keine Kontaktlinsen | fünfzehn |
iris.arff
Der Datensatz iris.arff wurde 1988 von Michael Marshall erstellt. Es ist die Iris Plants-Datenbank.
Was ist der Unterschied zwischen Qualitätskontrolle und Qualitätssicherung?
Datenbank: Diese Datenbank wird zur Mustererkennung verwendet. Der Datensatz enthält 3 Klassen mit 50 Instanzen. Jede Klasse repräsentiert eine Art Irispflanze. Eine Klasse ist linear von der anderen trennbar 2, die letzteren sind jedoch nicht linear voneinander trennbar. Es sagt voraus, zu welcher Art der 3 Irisblüte die Beobachtung gehört. Dies wird als Klassifizierungsdatensatz für mehrere Klassen bezeichnet.
Attribute: Es hat 4 numerische, prädiktive Attribute und die Klasse. Es fehlen keine Attribute.
Die Attribute sind:
- Kelchblattlänge in cm
- Kelchblattbreite in cm
- Blütenblattlänge in cm
- Blütenblattbreite in cm
- Klasse:
- Iris Setosa
- Iris Versicolour
- Iris Virginica
Zusammengefasste Statistiken:
Mindest | Max | Bedeuten | SD | Klassenkorrelation | |
---|---|---|---|---|---|
Kelchblattlänge | 4.3 | 7.9 | 5.84 | 0,83 | 0,7826 |
Kelchblattbreite | 2.0 | 4.4 | 3.05 | 0,43 | -0,4194 |
Blütenblattlänge | 1.0 | 6.9 | 3.76 | 1,76 | 0,9490 (hoch!) |
Blütenblattbreite | 0,1 | 2.5 | 1,20 | 0,76 | 0,9565 (hoch!) |
Klassenverteilung: 33,3% für jede der 3 Klassen
Einige andere Datensätze:
diabetes.arff
Die Datenbank dieses Datensatzes ist Pima Indians Diabetes. Dieser Datensatz sagt voraus, ob der Patient in den nächsten 5 Jahren anfällig für Diabetes ist. Die Patienten in diesem Datensatz sind alle Frauen im Alter von mindestens 21 Jahren aus Pima Indian Heritage. Es hat 768 Instanzen und 8 numerische Attribute sowie eine Klasse. Dies ist ein binärer Klassifizierungsdatensatz, bei dem die vorhergesagte Ausgabevariable nominal ist und aus zwei Klassen besteht.
ionosphere.arff
Dies ist ein beliebter Datensatz für die binäre Klassifizierung. Die Instanz in diesem Datensatz beschreibt die Eigenschaften von Radarrückläufen aus der Atmosphäre. Es wird verwendet, um vorherzusagen, wo die Ionosphäre eine Struktur hat oder nicht. Es hat 34 numerische Attribute und eine Klasse.
Das Klassenattribut ist 'gut' oder 'schlecht', was basierend auf der Beobachtung von 34 Attributen vorhergesagt wird. Die empfangenen Signale werden durch eine Autokorrelationsfunktion verarbeitet, wobei Zeitimpuls und Impulszahl als Argumente verwendet werden.
Regressionsdatensätze
Die Regressionsdatensätze können von der WEKA-Webseite heruntergeladen werden. “ Sammlungen von Datensätzen ”. Es hat 37 Regressionsprobleme, die aus verschiedenen Quellen stammen. Die heruntergeladene Datei erstellt ein numerisches Verzeichnis mit Regressionsdatensätzen im .arff-Format.
Die gängigen Datensätze im Verzeichnis sind: Longley-Wirtschaftsdatensatz (longley.arff), Bostoner Immobilienpreisdatensatz (Housing.arff) und Schlaf in Säugetierdatensatz (sleep.arff).
Lassen Sie uns nun sehen, wie Sie mit dem WEKA Explorer realwertige und nominale Attribute im Datensatz identifizieren.
Was sind reale und nominelle Attribute?
Realwertattribute sind numerische Attribute, die nur Realwerte enthalten. Dies sind messbare Größen. Diese Attribute können intervallskaliert werden, z. B. Temperatur oder Verhältnis skaliert, z. B. Mittelwert, Median.
Nominalattribute repräsentieren Namen oder eine Darstellung von Dingen. In solchen Attributen gibt es keine Reihenfolge und sie repräsentieren eine Kategorie. Beispielsweise, Farbe.
Befolgen Sie die unten aufgeführten Schritte, um mit WEKA reale Werte und Nennattribute im Datensatz zu identifizieren.
# 1) Öffnen Sie WEKA und wählen Sie 'Explorer' unter 'Anwendungen'.
#zwei) Wählen Sie die Registerkarte 'Pre-Process'. Klicken Sie auf 'Datei öffnen'. Mit dem WEKA-Benutzer können Sie auf WEKA-Beispieldateien zugreifen.
#3) Wählen Sie die Eingabedatei aus dem Ordner WEKA3.8, der auf dem lokalen System gespeichert ist. Wählen Sie die vordefinierte .arff-Datei 'credit-g.arff' aus und klicken Sie auf 'Öffnen'.
# 4) Im linken Bereich wird eine Attributliste geöffnet. Ausgewählte Attributstatistiken werden im rechten Bereich zusammen mit dem Histogramm angezeigt.
Analyse des Datensatzes:
Im linken Bereich zeigt die aktuelle Beziehung:
- Beziehungsname: german_credit ist die Beispieldatei.
- Instanzen: 1000 Anzahl von Datenzeilen im Datensatz.
- Attribute: 21 Attribute im Datensatz.
Das Feld unter der aktuellen Beziehung zeigt den Namen der Attribute.
Im rechten Bereich Die ausgewählten Attributstatistiken werden angezeigt. Wähle aus Attribut 'checking_status'.
Es zeigt:
- Name des Attributs
- Vermisst: Alle fehlenden Werte des Attributs im Dataset. 0% in diesem Fall.
- Deutlich: Das Attribut hat 4 verschiedene Werte.
- Art: Das Attribut ist vom nominalen Typ, dh es nimmt keinen numerischen Wert an.
- Anzahl: Unter den 1000 Instanzen wird die Anzahl jeder einzelnen Klassenbezeichnung in die Zählspalte geschrieben.
- Histogramm: Es wird die Bezeichnung der Ausgabeklasse für das Attribut angezeigt. Die Klassenbezeichnung in diesem Datensatz ist entweder gut oder schlecht. Es gibt 700 Fälle von Gut (blau markiert) und 300 Fälle von Schlecht (rot markiert).
- Für das Etikett<0, the instances for good or bad are almost the same in number.
- Für Etikett 0<= X<200, the instances with decision good are more than instances with bad.
- In ähnlicher Weise treten für label> = 200 die maximalen Instanzen für immer auf, und kein Prüfetikett hat mehr Instanzen mit einer guten Entscheidung.
Für das nächste Attribut 'Dauer'.
Das rechte Feld zeigt:
- Name: Dies ist der Name des Attributs.
- Art: Der Typ des Attributs ist numerisch.
- Fehlender Wert: Das Attribut hat keinen fehlenden Wert.
- Deutlich: Es hat 33 verschiedene Werte in 1000 Fällen. Dies bedeutet, dass es in 1000 Fällen 33 verschiedene Werte hat.
- Einzigartig: Es hat 5 eindeutige Werte, die nicht miteinander übereinstimmen.
- Mindestwert: Der Mindestwert des Attributs beträgt 4.
- Höchster Wert: Der Maximalwert des Attributs beträgt 72.
- Bedeuten: Mittelwert addiert alle Werte geteilt durch Instanzen.
- Standardabweichung: Abweichung der Attributdauer.
- Histogramm: Das Histogramm zeigt die Dauer von 4 Einheiten, die maximalen Instanzen treten für eine gute Klasse auf. Wenn die Dauer auf 38 Einheiten erhöht wird, verringert sich die Anzahl der Instanzen für gute Klassenbezeichnungen. Die Dauer erreicht 72 Einheiten, die nur eine Instanz haben, die die Entscheidung als schlecht einstuft.
Die Klasse ist das Klassifizierungsmerkmal des Nenntyps. Es hat zwei unterschiedliche Werte: gut und schlecht. Das Label für gute Klassen hat 700 Instanzen und das Label für schlechte Klassen hat 300 Instanzen.
Klicken Sie auf 'Alle visualisieren', um alle Attribute des Datasets anzuzeigen.
# 5) Um nur numerische Attribute herauszufinden, klicken Sie auf die Schaltfläche Filter. Von dort aus klicken Sie auf Wählen Sie -> WEKA> FILTER -> Unüberwachter Typ -> Typ entfernen.
WEKA-Filter verfügen über viele Funktionen, um die Attributwerte des Datasets so zu transformieren, dass es für die Algorithmen geeignet ist. Beispielsweise, die numerische Transformation von Attributen.
Das Filtern der nominalen und reellen Attribute aus dem Datensatz ist ein weiteres Beispiel für die Verwendung von WEKA-Filtern.
# 6) Klicken Sie auf der Registerkarte Filter auf RemoveType. Ein Objekteditorfenster wird geöffnet. Wählen Sie attributeType 'Numerische Attribute löschen' und klicken Sie auf OK.
# 7) Wenden Sie den Filter an. Es werden nur numerische Attribute angezeigt.
Das Klassenattribut ist vom nominalen Typ. Es klassifiziert die Ausgabe und kann daher nicht gelöscht werden. So wird es mit dem numerischen Attribut gesehen.
Ausgabe:
Die Realwert- und Nennwertattribute im Datensatz werden identifiziert. Die Visualisierung mit der Klassenbezeichnung erfolgt in Form von Histogrammen.
Weka-Entscheidungsbaum-Klassifizierungsalgorithmen
Nun werden wir sehen, wie die Entscheidungsbaumklassifizierung für das Dataset weather.nominal.arff mithilfe des J48-Klassifizierers implementiert wird.
weather.nominal.arff
Es handelt sich um einen Beispieldatensatz, der direkt von WEKA bereitgestellt wird. Dieser Datensatz sagt voraus, ob das Wetter zum Cricketspielen geeignet ist. Der Datensatz hat 5 Attribute und 14 Instanzen. Das Klassenlabel 'play' klassifiziert die Ausgabe als 'yes' oder 'no'.
Was ist Entscheidungsbaum?
Der Entscheidungsbaum ist die Klassifizierungstechnik, die aus drei Komponenten besteht: Wurzelknoten, Zweig (Kante oder Verknüpfung) und Blattknoten. Root repräsentiert die Testbedingung für verschiedene Attribute, der Zweig repräsentiert alle möglichen Ergebnisse, die im Test vorhanden sein können, und Blattknoten enthalten die Bezeichnung der Klasse, zu der sie gehört. Der Wurzelknoten befindet sich am Anfang des Baums, der auch als Baumspitze bezeichnet wird.
J48 Klassifikator
Es ist ein Algorithmus zum Generieren eines Entscheidungsbaums, der von C4.5 (eine Erweiterung von ID3) generiert wird. Es ist auch als statistischer Klassifikator bekannt. Für die Klassifizierung des Entscheidungsbaums benötigen wir eine Datenbank.
Schritte umfassen:
# 1) Öffnen Sie den WEKA Explorer.
#zwei) Wählen Sie die Datei weather.nominal.arff unter 'Datei auswählen' auf der Registerkarte 'Vorverarbeitung' aus.
#3) Wechseln Sie zur Registerkarte 'Klassifizieren', um die nicht klassifizierten Daten zu klassifizieren. Klicken Sie auf die Schaltfläche 'Auswählen'. Wählen Sie hier 'Bäume -> J48'. Lassen Sie uns auch einen kurzen Blick auf andere Optionen in der Schaltfläche Auswählen werfen:
- Bayes: Es ist eine Dichteschätzung für numerische Attribute.
- Meta: Es ist eine lineare Regression mit mehreren Antworten.
- Funktionen: Es ist logistische Regression.
- Faul: Die Mischentropie wird automatisch eingestellt.
- Regel: Es ist ein Regelschüler.
- Bäume: Bäume klassifizieren die Daten.
# 4) Klicken Sie auf die Schaltfläche Start. Die Ausgabe des Klassifikators wird auf der rechten Seite angezeigt. Die Laufinformationen im Bedienfeld werden wie folgt angezeigt:
- Planen: Der verwendete Klassifizierungsalgorithmus.
- Instanzen: Anzahl der Datenzeilen im Datensatz.
- Attribute: Der Datensatz hat 5 Attribute.
- Die Anzahl der Blätter und die Größe des Baums beschreiben den Entscheidungsbaum.
- Zeitaufwand für die Erstellung des Modells: Zeit für die Ausgabe.
- Vollständige Klassifizierung des J48 mit den Attributen und der Anzahl der Instanzen.
# 5) Um den Baum zu visualisieren, klicken Sie mit der rechten Maustaste auf das Ergebnis und wählen Sie den Baum visualisieren.
Ausgabe ::
Die Ausgabe erfolgt in Form eines Entscheidungsbaums. Das Hauptattribut ist 'Ausblick'.
Wenn die Aussichten sonnig sind, dann analysiert der Baum die Luftfeuchtigkeit weiter. Wenn die Luftfeuchtigkeit hoch ist, ist Class Label Play = 'Ja'.
Wenn die Aussichten bewölkt sind, Das Klassenlabel 'Play' lautet 'Ja'. Die Anzahl der Instanzen, die der Klassifizierung entsprechen, beträgt 4.
Wenn die Aussichten regnerisch sind, Eine weitere Klassifizierung erfolgt zur Analyse des Attributs „windig“. Wenn windig = wahr, ist das Spiel = 'nein'. Die Anzahl der Instanzen, die der Klassifizierung für Ausblick = windig und windig = wahr entsprechen, beträgt 2.
Fazit
WEKA bietet eine breite Palette von Beispieldatensätzen zur Anwendung von Algorithmen für maschinelles Lernen. Die Benutzer können maschinelle Lernaufgaben wie Klassifizierung, Regression, Attributauswahl und Zuordnung zu diesen Beispieldatensätzen ausführen und das Tool mit ihnen erlernen.
Der WEKA Explorer wird zur Ausführung mehrerer Funktionen verwendet, beginnend mit der Vorverarbeitung. Bei der Vorverarbeitung wird die Eingabe als .arff-Datei verwendet, die Eingabe verarbeitet und eine Ausgabe bereitgestellt, die von anderen Computerprogrammen verwendet werden kann. In WEKA gibt die Ausgabe der Vorverarbeitung die im Datensatz vorhandenen Attribute an, die für die statistische Analyse und den Vergleich mit Klassenbezeichnungen weiter verwendet werden können.
WEKA bietet auch viele Klassifizierungsalgorithmen für den Entscheidungsbaum an. J48 ist einer der gängigen Klassifizierungsalgorithmen, der einen Entscheidungsbaum ausgibt. Über die Registerkarte Klassifizieren kann der Benutzer den Entscheidungsbaum visualisieren. Wenn der Entscheidungsbaum zu voll ist, kann das Bereinigen von Bäumen auf der Registerkarte Vorverarbeitung angewendet werden, indem die nicht erforderlichen Attribute entfernt und der Klassifizierungsprozess erneut gestartet werden.
=> Besuchen Sie hier für die exklusive maschinelle Lernserie
Literatur-Empfehlungen
- Weka Tutorial - Herunterladen, Installieren und Verwenden des Weka-Tools
- So schreiben Sie komplexe Business Logic-Testszenarien mithilfe der Entscheidungstabellen-Technik
- WEKA Explorer: Visualisierung, Clustering, Assoziationsregel-Mining
- Beispiele für Entscheidungsbaumalgorithmen im Data Mining
- Entscheidungskonstrukte in C ++
- B-Baum- und B + -Baum-Datenstruktur in C ++
- Datenstruktur des Binärbaums in C ++
- AVL-Baum- und Heap-Datenstruktur in C ++