Video: Predictive Modelling Techniques | Data Science With R Tutorial 2024
Sie möchten ein Vorhersageanalysemodell erstellen, das Sie mithilfe bekannter Ergebnisse auswerten können. Dazu werden wir unseren Datensatz in zwei Gruppen unterteilen: einen zum Trainieren des Modells und einen zum Testen des Modells. Eine Aufteilung von 70/30 zwischen Trainings- und Testdatensätzen wird ausreichen. Die nächsten beiden Codezeilen berechnen und speichern die Größen der einzelnen Sätze: >> trainSize <- nrow (autos) - trainSize
Um die Werte auszugeben, geben Sie den Namen der Variablen ein, die zum Speichern des Werts verwendet wird. Drücken Sie Enter. Hier ist die Ausgabe:
Anhand der Daten können Sie sehen, dass sich die meisten der schwereren, achtzylindrigen, hubraumstärkeren Autos mit größerer Leistung am Anfang des Datensatzes befinden. Aus dieser Beobachtung, ohne irgendwelche Algorithmen auf den Daten laufen zu lassen, können Sie bereits (im Allgemeinen für diesen Datensatz) ältere Autos im Vergleich zu neueren Autos wie folgt sagen:
Sind schwererHaben acht Zylinder
-
größere Verdrängung
-
-
Haben Sie mehr PS
Okay, offensichtlich wissen viele Leute etwas über Automobile, also ist eine Vermutung, was die Korrelationen sind, nicht zu weit hergeholt, wenn Sie die Daten sehen. Jemand mit viel automobilem Wissen hat das vielleicht schon gewusst, ohne sich die Daten anzusehen. -
Dies ist nur ein einfaches Beispiel für eine Domain (Autos), mit der sich viele Menschen identifizieren können. Wenn dies Daten über Krebs wären, würden die meisten Menschen nicht sofort verstehen, was jedes Attribut bedeutet.
Hier sind ein Domänenexperte und ein Datenmodellierer für den Modellierungsprozess von entscheidender Bedeutung. Domänenexperten können am besten wissen, welche Attribute am meisten (oder am wenigsten) wichtig sind - und wie Attribute miteinander korrelieren.
Sie können dem Datenmodellierer vorschlagen, mit welchen Variablen zu experimentieren. Sie können größeren Attributen größere Gewichte und / oder kleineren Gewichten Attribute mit geringster Bedeutung geben (oder sie ganz entfernen).
Sie müssen also einen Trainingsdatensatz und einen Testdatensatz erstellen, die wirklich repräsentativ für das gesamte Set sind. Eine Möglichkeit besteht darin, das Trainingsset aus einer zufälligen Auswahl des gesamten Datensatzes zu erstellen.Darüber hinaus möchten Sie diesen Test reproduzierbar machen, damit Sie aus dem gleichen Beispiel lernen können.
Also setze den Samen für den Zufallsgenerator, so dass wir den gleichen "zufälligen" Trainingssatz haben. Der folgende Code erledigt diese Aufgabe: >> gesetzt. seed (123)> training_indices <- Beispiel (seq_len (nrow (Autos)), size = trainSize)> trainSet testSet <- autos [-training_indices,]
Das Trainingsset enthält 279 Beobachtungen, zusammen mit dem Ergebnis (mpg) von jeder Beobachtung. Der Regressionsalgorithmus verwendet das Ergebnis, um das Modell zu trainieren, indem die Beziehungen zwischen den Prädiktorvariablen (eines der sieben Attribute) und der Antwortvariablen (mpg) betrachtet werden.
Das Testset enthält den Rest der Daten (dh den Teil, der nicht im Trainingssatz enthalten ist). Sie sollten beachten, dass das Testset auch die Antwortvariable (mpg) enthält.Wenn Sie die Vorhersagefunktion (aus dem Modell) mit dem Testset verwenden, ignoriert sie die Antwortvariable und verwendet nur die Prädiktorvariablen, solange die Spaltennamen denen im Trainingssatz entsprechen.
Um ein lineares Regressionsmodell zu erstellen, das das Attribut mpg als Antwortvariable und alle anderen Variablen als Prädiktorvariablen verwendet, geben Sie die folgende Codezeile ein: >> model