R: predict()-Funktion für präzise Modellierungen
R predict() nimmt im Machine Learning eine zentrale Rolle ein, da du damit Prognosen für neue, noch unbekannte Daten erstellen kannst.
Wofür wird die R predict()-Funktion genutzt?
Die predict()-Funktion in R ist ein flexibles Werkzeug für die prädiktive Modellierung. Damit generierst du Vorhersagen für neue oder bestehende Datenpunkte auf Basis eines statistischen Modells. Ein solches Modell kann beispielsweise mittels linearer oder logistischer Regression, Entscheidungsbäumen oder anderen Verfahren erstellt worden sein.
So ist R predict() aufgebaut
Die Funktion predict() benötigt als Argumente das trainierte Modell sowie die Datenpunkte, für welche die Prognose erstellt werden soll. Je nach Modelltyp kannst du verschiedene Parameter festlegen. Das Resultat ist ein Vektor mit Vorhersagen, den du für Analysen, zur Bewertung der Modellleistung oder für Visualisierungen nutzen kannst.
predict(object, newdata, interval)R- object: Das trainierte Modell, welches für die Prognose genutzt wird.
- newdata: Die Datenpunkte, für die du Vorhersagen benötigst.
- interval: Optionales Argument für den Typ des Konfidenzintervalls (
confidencefür Mittelwerte,predictionfür Vorhersagen).
Beispiel: So nutzt du die predict-Funktion in R
In diesem Beispiel zeigen wir dir, wie R predict() in der Praxis funktioniert. Wir arbeiten dafür mit einem eigenen Datensatz, der Geschwindigkeits- und Distanzwerte enthält.
Daten anlegen und ausgeben
# Creating a data frame with custom speed and distance values
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)RZuerst erstellen wir einen eigenen Datensatz, um den Zusammenhang zwischen Geschwindigkeit (speed) und Wegstrecke (distance) zu analysieren. Mit data.frame() erzeugen wir einen Dataframe, während wir mit c(15, 20, 25, 30, 35) und c(30, 40, 50, 60, 70) die Werte für die Variablen speed und distance definieren.
Sobald der Datensatz steht, lassen wir ihn uns mit print() anzeigen. So prüfen wir direkt die Struktur und die korrekte Zuweisung der Werte im Dataframe.
Output:
"Custom Data Frame:"
speed distance
1 15 30
2 20 40
3 25 50
4 30 60
5 35 70RLineares 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))ROutput:
"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.01205RDie Ausgabe zeigt das erzeugte lineare Modell (custom_model), das die Relation zwischen Speed und Distanz abbildet. Du erhältst alle Modellresultate inklusive Koeffizienten und statistischer Details.
Neue Werte definieren und Prognosen erstellen
# 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)RJetzt legen wir einen weiteren Datensatz (new_speed_values) mit neuen Geschwindigkeiten an. Mit R predict() berechnen wir anschließend die zu erwartenden Distanzwerte basierend auf unserem linearen Modell.
Vorhersagen anzeigen
# Displaying the predicted values
print("Predicted Distance Values:")
print(predicted_distance)RDas Ergebnis liefert dir die prognostizierten Distanzwerte für die gewählten Geschwindigkeiten:
"Predicted Distance Values:"
1 2 3 4 5
80.0000 90.0000 100.0000 110.0000 120.0000R