R: predict()-Funktion für prädiktive Modellierung

R predict() spielt eine besondere Rolle im Kontext des maschinellen Lernens, da es die Möglichkeit bietet, Vorhersagen für neue, bisher nicht gesehene Daten zu treffen.

Wozu wird die R predict()-Funktion eingesetzt?

Die predict()-Function in R ist ein vielseitiges Tool, das in der prädiktiven Modellierung Anwendung findet. Es dient dazu, Vorhersagen für neue oder vorhandene Datenpunkte basierend auf einem zuvor entworfenen statistischen Modell zu generieren. Dieses Modell kann beispielsweise durch lineare Regression, logistische Regression, Entscheidungsbäume oder andere Modellierungstechniken erstellt worden sein.

So ist R predict() aufgebaut

Die Funktion predict() akzeptiert als Argumente das trainierte Modell und die Datenpunkte, für die Vorhersagen getroffen werden sollen. Je nach Art des Modells können Sie unterschiedliche Optionen und Parameter spezifizieren. Das Ergebnis ist ein Vektor von Vorhersagen, der dann für verschiedene Analysezwecke nützlich sein kann. Dazu zählen die Bewertung der Modellleistung, die Entscheidungsfindung oder die Visualisierung der resultierenden Daten.

predict(object, newdata, interval)
R
  • object: das trainierte Modell, auf das die Vorhersagen angewendet werden sollen.
  • newdata: die Datenpunkte für die Vorhersagen
  • interval: optionales Argument zur Angabe des Typs des Konfidenzintervalls (confidence für Mittelwerte, prediction für Vorhersagen)

Beispiel für die Anwendung der predict-Function in R

Das nachfolgende Beispiel soll Ihnen die Funktionsweise von R predict() vermitteln. Dazu verwenden wir einen benutzerdefinierten Datensatz mit Geschwindigkeits- und Distanzwerten.

Daten erstellen und anzeigen


custom_data <- data.frame(speed = c(15, 20, 25, 30, 35),
    distance = c(30, 40, 50, 60, 70))
# Displaying the custom data frame
print("Custom Data Frame:")
print(custom_data)
R

Im ersten Schritt dieses Beispiels konstruieren wir einen benutzerdefinierten Datensatz, um die Beziehung zwischen Geschwindigkeit (speed) und zurückgelegter Distanz (distance) zu untersuchen. Hierzu nutzen wir die Funktion data.frame(), um einen Datenrahmen zu schaffen. Mit c(15, 20, 25, 30, 35) und c(30, 40, 50, 60, 70) legen wir konkrete Werte für die Variablen speed und distance fest.

Nach der Erstellung des Datensatzes zeigen wir ihn mithilfe der print()-Funktion an. Damit können wir eine visuelle Überprüfung der Struktur und der zugewiesenen Werte des neuen Datenrahmens vornehmen.

Output:

"Custom Data Frame:"
    speed distance
1        15        30
2        20        40
3        25        50
4        30        60
5        35        70
R

Lineares Modell erstellen

# Creating a linear model for the custom data frame
custom_model <- lm(distance ~ speed, data = custom_data)
# Printing the model results
print("Model Results:")
print(summary(custom_model))
R

Output:

"Model Results:"
Call:
lm(formula = distance ~ speed, data = custom_data)
Residuals:
     1        2        3        4        5
    -2     -1        1        0        2
Coefficients:
(Intercept)     -10.00    15.81    -0.632    0.55897
speed                         2.00        0.47            4.254    0.01205
R

In der Ausgabe erkennen wir ein lineares Modell (custom_model), das für den Datensatz generiert wurde und die Beziehung zwischen Geschwindigkeit und Distanz modelliert. Wir erhalten die Ergebnisse des Modells, einschließlich der Koeffizienten und statistischer Informationen.

Neue Geschwindigkeitswerte definieren und Vorhersagen treffen

# Creating a data frame with new speed values
new_speed_values <- data.frame(speed = c(40, 45, 50, 55, 60))
# Predicting future distance values using the linear model
predicted_distance <- predict(custom_model, newdata = new_speed_values)
R

Wir definieren nun einen weiteren Datensatz (new_speed_values) mit neuen Geschwindigkeitswerten. Anschließend werden mit R predict() Vorhersagen für die zugehörigen Distanzwerte unter Verwendung des zuvor erstellten linearen Modells getroffen.

Vorhersagen anzeigen

# Displaying the predicted values
print("Predicted Distance Values:")
print(predicted_distance)
R

Die Ausgabe zeigt uns die zu erwartenden Distanzwerte je nach Geschwindigkeit:

"Predicted Distance Values:"
               1                2                  3                 4                   5
 80.0000     90.0000    100.0000  110.0000     120.0000
R
Tipp

Wenn Sie erfahren möchten, wie Strings in R für die Textmanipulation und Datenbereinigung bearbeitet werden, können Sie sich die Tutorials zu R gsub und sub und R substring in unserem Ratgeber anschauen.

Günstige Webhosting-Pakete von IONOS!

Vertrauen Sie auf flexibel skalierbares und zuverlässiges Webhosting inklusive persönlichem Berater mit IONOS!

Kostenlose Domain
SSL Zertifikat
DDoS-Schutz