# Mikä on predict() R-kielessä?

R:n `predict()` voit tehdä ennusteita uusille, näkymättömille tiedoille. Tämä funktio on tärkeä työkalu koneoppimisessa.

## Mihin R:n predict()-funktiota käytetään?

R-funktio `predict()` on monipuolinen työkalu, jota käytetään ennustemallinnuksessa. Se tuottaa **ennusteita uusille tai olemassa oleville datapisteille** aiemmin suunniteltujen tilastollisten mallien, kuten lineaarisen regressioanalyysin, loogisen regressioanalyysin, päätöksentekopuun ja muiden mallinnustekniikoiden perusteella.

## Mikä on predict()-funktion syntaksi R-kielessä?

R:n `predict()` ottaa argumentteina **koulutetun mallin ja datapisteet**, joihin ennusteen tulisi kohdistua. Voit määrittää erilaisia vaihtoehtoja ja parametreja käytetyn mallin tyypin perusteella. Tuloksena on ennusteiden vektori, joka voi olla hyödyllinen erilaisissa analyyttisissä tarkoituksissa, kuten mallin suorituskyvyn arvioinnissa, päätöksenteossa tai tuloksena saatujen tietojen havainnollistamisessa.

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

- **`object`**: Koulutettu malli, johon ennusteet sovelletaan
- **`newdata`**: Ennusteen datapiste
- **`interval`**: Valinnainen argumentti luottamusvälin tyypin syöttämiseksi (`confidence` keskiarvon väli, `prediction` ennusteet)

## Esimerkki predict()-funktion käytöstä R-kielessä

Seuraava esimerkki havainnollistaa, miten `predict()` -funktio toimii R:ssä. Käytämme käyttäjän määrittämää tietojoukkoa, jossa on nopeus- ja etäisyysarvot.

### Tietojen luominen ja näyttäminen

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

Ensin luomme **käyttäjän määrittelemän tietojoukon** nopeuden ja etäisyyden välisen suhteen arvioimiseksi. Käytämme funktiota `data.frame()` tietokehyksen luomiseen ja määritämme sitten muuttujien `speed` ja `distance` arvot vastaavasti `c(15, 20, 25, 30, 35)` ja `c(30, 40, 50, 60, 70)`.

Kun olemme luoneet tietojoukon, näytämme sen `print()` -toiminnolla. Näin voimme tarkistaa uuden tietokehyksen rakenteen ja sille annetut arvot.

Tulos:

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

### Lineaarisen mallin luominen

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

Tulos:

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

Tuloksessa näemme lineaarisen mallin (`custom_model`), joka on luotu tietojoukkoa varten ja joka mallintaa nopeuden ja etäisyyden välistä suhdetta. Saamme mallin tuloksen, mukaan lukien kertoimet ja tilastotiedot.

### Uusien nopeusarvojen määrittäminen ja ennusteiden tekeminen

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

Olemme nyt luoneet toisen tietojoukon (`new_speed_values`), jossa on uudet nopeusarvot. Sitten käytimme R `predict()` ennusteiden tekemiseen vastaaville etäisyysarvoille käyttämällä edellä luomaamme lineaarista mallia.

### Ennusteiden näyttäminen

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

Tuloksessa näkyvät nopeuden perusteella ennustetut etäisyysarvot:

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

Vinkki Jos haluat oppia merkkijonojen käsittelystä tekstin muokkaamista ja tietojen puhdistamista varten R-kielellä, tutustu oppaisiimme R gsub ja sub sekä [R substring](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/r-alimerkkijono/).


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/r-ennusta/](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/r-ennusta/) for AI/LLM consumption.