# Wat is predict() in R?

Met de functie `predict()` in R kunt u voorspellingen doen voor nieuwe, onbekende gegevens. Deze functie is een belangrijk hulpmiddel voor machine learning.

## Waarvoor wordt predict() in R gebruikt?

De R-functie `predict()` is een veelzijdig hulpmiddel dat wordt gebruikt bij voorspellende modellering. Het genereert **voorspellingen voor nieuwe of bestaande gegevenspunten** op basis van eerder ontworpen statistische modellen, zoals lineaire regressie, logische regressie, beslissingsbomen en andere modelleringstechnieken.

## Wat is de syntaxis voor predict() in R?

De functie `predict()` van R neemt als argumenten **een getraind model en de gegevenspunten** waarop de voorspelling moet worden toegepast. U kunt verschillende opties en parameters specificeren op basis van het type model dat wordt gebruikt. Het resultaat is een vector van voorspellingen die nuttig kan zijn voor verschillende analytische doeleinden, waaronder het evalueren van de prestaties van een model, het nemen van beslissingen of het illustreren van de resulterende gegevens.

```R
predict(object, newdata, interval)
```

- **`object`**: Het getrainde model waarop de voorspellingen worden toegepast
- **`newdata`**: Het gegevenspunt voor de voorspelling
- **`interval`**: Optioneel argument voor het invoeren van het type betrouwbaarheidsinterval (`confidence` voor gemiddeld interval, `prediction` voor voorspellingen)

## Voorbeeld van het gebruik van predict() in R

Het volgende voorbeeld illustreert hoe de functie `predict()` in R werkt. We gebruiken een door de gebruiker gedefinieerde dataset met snelheids- en afstandswaarden.

### Gegevens aanmaken en weergeven

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

Eerst maken we een **door de gebruiker gedefinieerde dataset** om de relatie tussen snelheid en afstand te evalueren. We gebruiken de functie `data.frame()` om een dataframe te maken en definiëren vervolgens de waarden voor de variabelen `speed` en `distance` als respectievelijk `c(15, 20, 25, 30, 35)` en `c(30, 40, 50, 60, 70)`.

Nadat we de dataset hebben aangemaakt, geven we deze weer met behulp van de functie `print()`. Op die manier kunnen we de structuur en de toegewezen waarden van ons nieuwe dataframe controleren.

Uitvoer:

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

### Een lineair model maken

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

Uitvoer:

```R
"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
```

In de uitvoer zien we een lineair model (`custom_model`) dat voor de dataset is gegenereerd en dat de relatie tussen snelheid en afstand modelleert. We krijgen het resultaat van het model, inclusief coëfficiënten en statistische informatie.

### Nieuwe snelheidswaarden definiëren en voorspellingen doen

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

We hebben nu een andere dataset (`new_speed_values`) gemaakt met nieuwe waarden voor snelheid. Vervolgens hebben we R `predict()` gebruikt om voorspellingen te doen voor de bijbehorende afstandswaarden met behulp van het lineaire model dat we hierboven hebben gemaakt.

### De voorspellingen weergeven

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

De uitvoer toont de afstandwaarden die zijn voorspeld op basis van snelheid:

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

Tip Als u meer wilt weten over het verwerken van strings voor tekstmanipulatie en gegevensopschoning in R, bekijk dan onze tutorials over R gsub en sub en [R substring](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/r-substring/).


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/r-voorspellen/](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/r-voorspellen/) for AI/LLM consumption.