# Hva er predict() i R?

Med funksjonen `predict()` i R kan du lage prognoser for nye, usette data. Denne funksjonen er et viktig verktøy for maskinlæring.

## Hva brukes predict() i R til?

R-funksjonen `predict()` er et allsidig verktøy som brukes i prediktiv modellering. Den genererer **prediksjoner for nye eller eksisterende datapunkter** basert på tidligere utformede statistiske modeller, for eksempel lineær regresjon, logisk regresjon, beslutningstrær og andre modelleringsteknikker.

## Hva er syntaksen for predict() i R?

R’s `predict()` tar som argumenter **en trent modell og datapunktene** som prediksjonen skal gjelde for. Du kan spesifisere forskjellige alternativer og parametere basert på typen modell som brukes. Resultatet er en vektor med prediksjoner som kan være nyttig for ulike analytiske formål, inkludert evaluering av modellens ytelse, beslutningstaking eller illustrering av de resulterende dataene.

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

- **`object`**: Den trente modellen som prediksjonene brukes på
- **`newdata`**: Datapunktet for prediksjonen
- **`interval`**: Valgfritt argument for å angi type konfidensintervall (`confidence` for gjennomsnittsintervall, `prediction` for prediksjoner)

## Eksempel på hvordan man bruker predict() i R

Følgende eksempel illustrerer hvordan funksjonen `predict()` i R fungerer. Vi bruker et brukerdefinert datasett med hastighets- og avstandsverdier.

### Opprette og vise data

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

Først skal vi opprette et **brukerdefinert datasett** for å evaluere forholdet mellom hastighet og avstand. Vi bruker funksjonen `data.frame()` til å opprette en dataramme og definerer deretter verdiene for variablene `speed` og `distance` som henholdsvis `c(15, 20, 25, 30, 35)` og `c(30, 40, 50, 60, 70)`.

Etter at vi har opprettet datasettet, viser vi det ved hjelp av funksjonen `print()`. På den måten kan vi sjekke strukturen og de tildelte verdiene i den nye datarammen.

Utdata:

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

### Opprette en lineær modell

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

Utdata:

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

I resultatet ser vi en lineær modell (`custom_model`) som ble generert for datasettet og som modellerer forholdet mellom hastighet og avstand. Vi får resultatet av modellen, inkludert koeffisienter og statistisk informasjon.

### Definere nye hastighetsverdier og lage prognoser

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

Vi har nå opprettet et nytt datasett (`new_speed_values`) med nye verdier for hastighet. Deretter brukte vi R `predict()` til å lage prediksjoner for de tilsvarende avstandsverdiene ved hjelp av den lineære modellen vi opprettet ovenfor.

### Vise prognosene

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

Utgangen viser avstandsverdiene som er beregnet basert på hastigheten:

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

Tip Hvis du vil lære mer om behandling av strenger for tekstmanipulering og datarengjøring i R, kan du ta en titt på veiledningene våre om R gsub og sub og [R substring](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/r-delstreng/).


This is a markdown version of: [https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/r-forutsi/](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/r-forutsi/) for AI/LLM consumption.