Video: AWS Tutorial For Beginners | AWS Full Course - Learn AWS In 10 Hours | AWS Training | Edureka 2024
Eine andere Aufgabe in der Vorhersageanalyse besteht darin, neue Daten zu klassifizieren, indem vorhergesagt wird, zu welcher Klasse ein Ziel-Datenelement gehört, wenn ein Satz unabhängiger Variablen vorhanden ist. Sie können beispielsweise einen Kunden nach Typ klassifizieren - beispielsweise als Kunden mit hohem Wert, als Stammkunden oder als Kunden, der bereit ist, zu einem Wettbewerber zu wechseln - mithilfe eines Entscheidungsbaums.
Um einige nützliche Informationen über das R Klassifizierungsmodell zu erhalten, geben Sie den folgenden Code ein:
Die Spalte Class sagt Ihnen, dass Sie einen Entscheidungsbaum erstellt haben. Um zu sehen, wie die Spaltungen bestimmt werden, können Sie einfach den Namen der Variablen eingeben, in der Sie das Modell, in diesem Fall das Modell, zugewiesen haben: >> Modell Bedingter Inferenzbaum mit 6 Endknoten Antwort: seedType Inputs: Fläche, Umfang, Kompaktheit, Länge, Breite, Asymmetrie, Länge2 Anzahl der Beobachtungen: 147 1) Fläche <= 16. 2; Kriterium = 1, Statistik = 123. 423 2) Fläche <= 13. 37; Kriterium = 1, Statistik = 63. 549 3) Länge2 4. 914 5) * Gewichte = 45 2) Fläche> 13. 37 6) Länge2 5. 396 8) * Gewichte = 8 1) Fläche> 16. 2 9) Länge2 5. 877 11) * Gewichte = 40
Noch besser, Sie können das Modell visualisieren, indem Sie eine Zeichnung des Entscheidungsbaums mit diesem Code erstellen:> plot (model)
Dies ist eine grafische Darstellung eines Entscheidungsbaums. Sie können sehen, dass die Gesamtform die eines echten Baumes nachahmt. Es besteht aus
Knoten(den Kreisen und Rechtecken) und Verbindungen oder Kanten (den Verbindungslinien). Der allererste Knoten (beginnend an der Spitze) wird der Wurzelknoten
genannt, und die Knoten am unteren Ende des Baums (Rechtecke) werden als Endknoten bezeichnet. Es gibt fünf Entscheidungsknoten und sechs Endknoten.
Beginnen Sie am Wurzelknoten, der Knoten 1 ist (die Zahl wird im kleinen Quadrat oben im Kreis angezeigt). Entscheiden Sie basierend auf dem Attribut: Ist die der Beobachtung # 2 kleiner oder gleich (mit <=) 16.2? die Antwort lautet ja, also bewege dich auf dem Pfad zu Knoten 2.
Am Knoten 2 fragt das Modell: Ist der Bereich 13. 37? Die Antwort ist ja, also bewege dich auf dem Weg zum Knoten 6. An diesem Knoten fragt das Modell: Ist die Länge2 <= 5. 396? es ist, und Sie bewegen sich zu Terminal-Knoten 7 und das Urteil ist, dass die Beobachtung # 2 von Saatgut Typ 1 ist. Und es ist in der Tat, Saatgut Typ 1.
-
Das Modell macht das für alle anderen Beobachtungen zu ihrer Vorhersage Klassen.
-
Um herauszufinden, ob Sie ein gutes Modell trainiert haben, prüfen Sie es anhand der Trainingsdaten. Sie können die Ergebnisse in einer Tabelle mit folgendem Code anzeigen: >> table (predict (model), trainSet $ seedType) 1 2 3 1 45 4 3 2 3 47 0 3 1 0 44
Die Ergebnisse zeigen, dass der Fehler (oder Fehlklassifizierungsrate) ist 11 von 147 oder 7. 48 Prozent.
-
Mit den berechneten Ergebnissen ist der nächste Schritt das Lesen der Tabelle.
Die richtigen Vorhersagen sind diejenigen, die die Spalten- und Zeilennummern als die gleichen anzeigen. Diese Ergebnisse zeigen sich als diagonale Linie von oben links nach unten rechts; zum Beispiel sind [1, 1], [2, 2], [3, 3] die Anzahl der korrekten Vorhersagen für diese Klasse.
Für das Keimtyp 1 hat das Modell es also 45 Mal korrekt vorhergesagt, während es den Keim 7 Mal falsch klassifiziert hat (4 Mal als Keimtyp 2 und 3 Mal als Typ 3). Für den Keimtyp 2 hat das Modell es 47 Mal korrekt vorhergesagt, während es dreimal falsch klassifiziert wurde. Für den Keimtyp 3 hat das Modell es 44 Mal korrekt vorhergesagt, während es nur einmal falsch klassifiziert wurde.
-
Dies zeigt, dass dies ein gutes Modell ist. So werten Sie es jetzt mit den Testdaten aus. Hier ist der Code, der die Testdaten verwendet, um ihn vorherzusagen und in einer Variablen (testPrediction) zu speichern: >> testPrediction <- predict (model, newdata = testSet)
Um zu bewerten, wie das Modell mit dem Daten testen, in einer Tabelle anzeigen und den Fehler berechnen, für den der Code so aussieht: >> tabelle (testPrediction, testSet $ seedType) testPrediction 1 2 3 1 23 2 1 2 1 19 0 3 1 0 17