Met de functie predict() in R kunt u voor­spel­lin­gen doen voor nieuwe, onbekende gegevens. Deze functie is een be­lang­rijk hulp­mid­del voor machine learning.

Waarvoor wordt predict() in R gebruikt?

De R-functie predict() is een veel­zij­dig hulp­mid­del dat wordt gebruikt bij voor­spel­len­de mo­del­le­ring. Het genereert voor­spel­lin­gen voor nieuwe of bestaande ge­ge­vens­pun­ten op basis van eerder ontworpen sta­tis­ti­sche modellen, zoals lineaire regressie, logische regressie, be­slis­sings­bo­men en andere mo­del­le­rings­tech­nie­ken.

Wat is de syntaxis voor predict() in R?

De functie predict() van R neemt als ar­gu­men­ten een getraind model en de ge­ge­vens­pun­ten waarop de voor­spel­ling moet worden toegepast. U kunt ver­schil­len­de opties en pa­ra­me­ters spe­ci­fi­ce­ren op basis van het type model dat wordt gebruikt. Het resultaat is een vector van voor­spel­lin­gen die nuttig kan zijn voor ver­schil­len­de ana­ly­ti­sche doel­ein­den, waaronder het evalueren van de pres­ta­ties van een model, het nemen van be­slis­sin­gen of het il­lu­stre­ren van de re­sul­te­ren­de gegevens.

predict(object, newdata, interval)
R
  • object: Het getrainde model waarop de voor­spel­lin­gen worden toegepast
  • newdata: Het ge­ge­vens­punt voor de voor­spel­ling
  • interval: Optioneel argument voor het invoeren van het type be­trouw­baar­heids­in­ter­val (confidence voor gemiddeld interval, prediction voor voor­spel­lin­gen)

Voorbeeld van het gebruik van predict() in R

Het volgende voorbeeld il­lu­streert hoe de functie predict() in R werkt. We gebruiken een door de gebruiker ge­de­fi­ni­eer­de dataset met snelheids- en af­stands­waar­den.

Gegevens aanmaken en weergeven

# 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

Eerst maken we een door de gebruiker ge­de­fi­ni­eer­de dataset om de relatie tussen snelheid en afstand te evalueren. We gebruiken de functie data.frame() om een dataframe te maken en de­fi­ni­ë­ren ver­vol­gens de waarden voor de va­ri­a­be­len speed en distance als res­pec­tie­ve­lijk c(15, 20, 25, 30, 35) en c(30, 40, 50, 60, 70).

Nadat we de dataset hebben aan­ge­maakt, geven we deze weer met behulp van de functie print(). Op die manier kunnen we de structuur en de toe­ge­we­zen waarden van ons nieuwe dataframe con­tro­le­ren.

Uitvoer:

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

Een lineair model maken

# 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

Uitvoer:

"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 de uitvoer zien we een lineair model (custom_model) dat voor de dataset is ge­ge­ne­reerd en dat de relatie tussen snelheid en afstand mo­del­leert. We krijgen het resultaat van het model, inclusief co­ëf­fi­ci­ën­ten en sta­tis­ti­sche in­for­ma­tie.

Nieuwe snel­heids­waar­den de­fi­ni­ë­ren en voor­spel­lin­gen doen

# 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

We hebben nu een andere dataset (new_speed_values) gemaakt met nieuwe waarden voor snelheid. Ver­vol­gens hebben we R predict() gebruikt om voor­spel­lin­gen te doen voor de bij­be­ho­ren­de af­stands­waar­den met behulp van het lineaire model dat we hierboven hebben gemaakt.

De voor­spel­lin­gen weergeven

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

De uitvoer toont de af­stand­waar­den die zijn voorspeld op basis van snelheid:

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