Naudodami R programos funkciją predict(), galite prog­no­zuo­ti naujus, nematytus duomenis. Ši funkcija yra svarbus mašininio mokymosi įrankis.

Kam naudojama funkcija predict() prog­ra­mo­je R?

R funkcija predict() yra uni­ver­sa­lus įrankis, nau­do­ja­mas prog­no­za­vi­mo mo­de­lia­vi­mui. Ji generuoja prognozes naujiems ar esamiems duomenų taškams, remdamasi anksčiau sukurtais sta­tis­ti­niais modeliais, tokiais kaip linijinė regresija, loginė regresija, sprendimų medžiai ir kitos mo­de­lia­vi­mo technikos.

Kokia yra predict() sintaksė R kalboje?

R funkcija predict() kaip ar­gu­men­tus naudoja apmokytą modelį ir duomenų taškus, kuriems turėtų būti taikomas prog­no­za­vi­mas. Galite nurodyti įvairias parinktis ir pa­ra­met­rus, at­si­žvelg­da­mi į naudojamo modelio tipą. Re­zul­ta­tas yra prognozių vektorius, kuris gali būti naudingas įvairiems ana­li­ti­niams tikslams, įskaitant modelio veikimo vertinimą, sprendimų priėmimą ar gautų duomenų iliust­ra­vi­mą.

predict(object, newdata, interval)
R
  • object: apmokytas modelis, kuriam taikomi prog­no­za­vi­mai
  • newdata: Duomenų taškas prognozei
  • interval: Pa­si­rink­ti­nis ar­gu­men­tas, skirtas įvesti pa­si­kliau­tu­mo intervalo tipą (confidence vi­du­ti­niam in­ter­va­lui, prediction prog­no­zėms)

Pavyzdys, kaip naudoti predict() R kalboje

Šis pavyzdys iliust­ruo­ja, kaip veikia funkcija predict() prog­ra­mo­je R. Naudosime vartotojo apibrėžtą duomenų rinkinį su greičio ir atstumo reikš­mė­mis.

Duomenų kūrimas ir rodymas

# 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

Pir­miau­sia sukursime vartotojo apibrėžtą duomenų rinkinį, skirtą greičio ir atstumo santykiui įvertinti. Naudosime funkciją data.frame(), kad sukurtume duomenų rėmelį, tada api­brė­ši­me kintamųjų speed ir distance vertes ati­tin­ka­mai kaip c(15, 20, 25, 30, 35) ir c(30, 40, 50, 60, 70).

Sukūrę duomenų rinkinį, jį pa­ro­dy­si­me naudodami funkciją print(). Taip galėsime pa­tik­rin­ti naujojo duomenų rėmo struktūrą ir pri­skir­tas reikšmes.

Išvestis:

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

Linijinio modelio kūrimas

# 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

Išvestis:

"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

Re­zul­ta­tuo­se matome linijinį modelį (custom_model), kuris buvo sukurtas duomenų rinkiniui ir mo­de­liuo­ja greičio ir atstumo santykį. Gauname modelio rezultatą, įskaitant ko­e­fi­ci­en­tus ir sta­tis­ti­nę in­for­ma­ci­ją.

Naujų greičio verčių nu­sta­ty­mas ir prognozės

# 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

Dabar sukūrėme kitą duomenų rinkinį (new_speed_values) su naujomis greičio reikš­mė­mis. Tada naudojome R predict(), kad pagal aukščiau sukurtą linijinį modelį prog­no­zuo­tu­me ati­tin­ka­mas atstumo reikšmes.

Prognozių rodymas

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

Re­zul­ta­tuo­se rodomos atstumo vertės, ap­skai­čiuo­tos pagal greitį:

"Predicted Distance Values:"
               1                2                  3                 4                   5
 80.0000     90.0000    100.0000  110.0000     120.0000
R
Go to Main Menu