R predict() spielt eine besondere Rolle im Kontext des ma­schi­nel­len Lernens, da es die Mög­lich­keit bietet, Vor­her­sa­gen für neue, bisher nicht gesehene Daten zu treffen.

Wozu wird die R predict()-Funktion ein­ge­setzt?

Die predict()-Function in R ist ein viel­sei­ti­ges Tool, das in der prä­dik­ti­ven Mo­del­lie­rung Anwendung findet. Es dient dazu, Vor­her­sa­gen für neue oder vor­han­de­ne Da­ten­punk­te basierend auf einem zuvor ent­wor­fe­nen sta­tis­ti­schen Modell zu ge­ne­rie­ren. Dieses Modell kann bei­spiels­wei­se durch lineare Re­gres­si­on, lo­gis­ti­sche Re­gres­si­on, Ent­schei­dungs­bäu­me oder andere Mo­del­lie­rungs­tech­ni­ken erstellt worden sein.

So ist R predict() aufgebaut

Die Funktion predict() ak­zep­tiert als Argumente das trai­nier­te Modell und die Da­ten­punk­te, für die Vor­her­sa­gen getroffen werden sollen. Je nach Art des Modells können Sie un­ter­schied­li­che Optionen und Parameter spe­zi­fi­zie­ren. Das Ergebnis ist ein Vektor von Vor­her­sa­gen, der dann für ver­schie­de­ne Ana­ly­se­zwe­cke nützlich sein kann. Dazu zählen die Bewertung der Mo­dell­leis­tung, die Ent­schei­dungs­fin­dung oder die Vi­sua­li­sie­rung der re­sul­tie­ren­den Daten.

predict(object, newdata, interval)
R
  • object: das trai­nier­te Modell, auf das die Vor­her­sa­gen an­ge­wen­det werden sollen.
  • newdata: die Da­ten­punk­te für die Vor­her­sa­gen
  • interval: op­tio­na­les Argument zur Angabe des Typs des Kon­fi­denz­in­ter­valls (confidence für Mit­tel­wer­te, prediction für Vor­her­sa­gen)

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

Das nach­fol­gen­de Beispiel soll Ihnen die Funk­ti­ons­wei­se von R predict() ver­mit­teln. Dazu verwenden wir einen be­nut­zer­de­fi­nier­ten Datensatz mit Ge­schwin­dig­keits- und Di­stanz­wer­ten.

Daten erstellen und anzeigen

# 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)
R

Im ersten Schritt dieses Beispiels kon­stru­ie­ren wir einen be­nut­zer­de­fi­nier­ten Datensatz, um die Beziehung zwischen Ge­schwin­dig­keit (speed) und zu­rück­ge­leg­ter Distanz (distance) zu un­ter­su­chen. Hierzu nutzen wir die Funktion data.frame(), um einen Da­ten­rah­men 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 Er­stel­lung des Da­ten­sat­zes zeigen wir ihn mithilfe der print()-Funktion an. Damit können wir eine visuelle Über­prü­fung der Struktur und der zu­ge­wie­se­nen Werte des neuen Da­ten­rah­mens 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 Ge­schwin­dig­keit und Distanz mo­del­liert. Wir erhalten die Er­geb­nis­se des Modells, ein­schließ­lich der Ko­ef­fi­zi­en­ten und sta­tis­ti­scher In­for­ma­tio­nen.

Neue Ge­schwin­dig­keits­wer­te de­fi­nie­ren und Vor­her­sa­gen 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 de­fi­nie­ren nun einen weiteren Datensatz (new_speed_values) mit neuen Ge­schwin­dig­keits­wer­ten. An­schlie­ßend werden mit R predict() Vor­her­sa­gen für die zu­ge­hö­ri­gen Di­stanz­wer­te unter Ver­wen­dung des zuvor er­stell­ten linearen Modells getroffen.

Vor­her­sa­gen anzeigen

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

Die Ausgabe zeigt uns die zu er­war­ten­den Di­stanz­wer­te je nach Ge­schwin­dig­keit:

"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 Text­ma­ni­pu­la­ti­on und Da­ten­be­rei­ni­gung be­ar­bei­tet werden, können Sie sich die Tutorials zu R gsub und sub und R substring in unserem Ratgeber anschauen.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive
Zum Hauptmenü