# Kaj je predict() v R?

S funkcijo `predict()` v R lahko napovedujete nove, nevidne podatke. Ta funkcija je pomembno orodje za strojno učenje.

## Za kaj se uporablja predict() v R?

Funkcija R `predict()` je vsestransko orodje, ki se uporablja v prediktivnem modeliranju. Na podlagi predhodno oblikovanih statističnih modelov, kot so linearna regresija, logična regresija, odločevalna drevesa in druge modelirne tehnike, ustvarja **napovedi za nove ali obstoječe podatkovne točke**.

## Kakšna je sintaksa za predict() v R?

Funkcija R’s `predict()` sprejema kot argumente **usposobljen model in podatkovne točke**, na katere naj se napoved nanaša. Glede na vrsto uporabljenega modela lahko določite različne možnosti in parametre. Rezultat je vektor napovedi, ki je lahko koristen za različne analitične namene, vključno z ocenjevanjem učinkovitosti modela, sprejemanjem odločitev ali ponazoritvijo rezultatnih podatkov.

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

- **`object`**: Usposobljen model, na katerega se napovedi nanašajo
- **`newdata`**: Podatkovna točka za napoved
- **`interval`**: Izbirni argument za vnos vrste intervala zaupanja (`confidence` za interval srednje vrednosti, `prediction` za napovedi)

## Primer uporabe funkcije predict() v R

Naslednji primer ponazarja delovanje funkcije `predict()` v R. Uporabili bomo uporabniško definiran niz podatkov z vrednostmi hitrosti in razdalje.

### Ustvarjanje in prikazovanje podatkov

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

Najprej bomo ustvarili **uporabniško definiran niz podatkov** za oceno razmerja med hitrostjo in razdaljo. Uporabili bomo funkcijo `data.frame()` za ustvarjanje podatkovnega okvira, nato pa bomo vrednosti za spremenljivki `speed` in `distance` definirali kot `c(15, 20, 25, 30, 35)` oziroma `c(30, 40, 50, 60, 70)`.

Ko bomo ustvarili niz podatkov, ga bomo prikazali s funkcijo `print()`. Na ta način lahko preverimo strukturo in dodeljene vrednosti našega novega podatkovnega okvira.

Izhod:

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

### Ustvarjanje linearne modela

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

Izhod:

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

V izhodnih podatkih vidimo linearni model (`custom_model`), ki je bil ustvarjen za niz podatkov in modelira razmerje med hitrostjo in razdaljo. Dobimo rezultat modela, vključno s koeficienti in statističnimi podatki.

### Določanje novih vrednosti hitrosti in napovedovanje

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

Sedaj smo ustvarili še en niz podatkov (`new_speed_values`) z novimi vrednostmi za hitrost. Nato smo z R `predict()` napovedali ustrezne vrednosti razdalje z uporabo linearne modela, ki smo ga ustvarili zgoraj.

### Prikaz napovedi

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

Izhod prikazuje vrednosti razdalje, napovedane na podlagi hitrosti:

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

Tip Če se želite naučiti obdelave nizov za manipulacijo besedila in čiščenje podatkov v R, si oglejte naše vodiče o R gsub in sub ter [R substring](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/r-podniz/).


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/r-napoved/](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/r-napoved/) for AI/LLM consumption.