Iz­man­to­jot R predict() funkciju, varat veikt prognozes par jauniem, ne­re­dzē­tiem datiem. Šī funkcija ir svarīgs rīks ma­šīn­mā­cī­bai.

Kādam nolūkam R izmanto predict()?

R funkcija predict() ir daudz­pu­sīgs rīks, ko izmanto prog­no­zē­ša­nas mo­de­lē­ša­nā. Tā ģenerē prognozes jauniem vai esošiem datu punktiem, pa­ma­to­jo­ties uz iepriekš iz­strā­dā­tiem sta­tis­tis­kiem modeļiem, piemēram, lineāro regresiju, loģisko regresiju, lēmumu kokiem un citām mo­de­lē­ša­nas metodēm.

Kāda ir sintakse funkcijas predict() iz­man­to­ša­nai programmā R?

R funkcija predict() kā ar­gu­men­tus izmanto apmācītu modeli un datu punktus, uz kuriem jā­at­tie­ci­na prognoze. Jūs varat norādīt dažādas opcijas un pa­ra­met­rus atkarībā no izmantotā modeļa veida. Rezultāts ir prognožu vektors, kas var būt noderīgs dažādiem ana­lī­tis­kiem mērķiem, tostarp modeļa veikt­spē­jas no­vēr­tē­ša­nai, lēmumu pie­ņem­ša­nai vai rezultātu datu ilus­trē­ša­nai.

predict(object, newdata, interval)
R
  • object: Ap­mā­cī­tais modelis, uz kuru tiek at­tie­ci­nā­tas prognozes
  • newdata: Datu punkts prognozei
  • interval: Papildu arguments, lai ievadītu kon­fi­den­ces intervāla veidu (confidence vidējam in­ter­vā­lam, prediction prognozēm)

Piemērs, kā lietot predict() R valodā

Šis piemērs ilustrē, kā darbojas funkcija predict() programmā R. Mēs iz­man­to­sim lietotāja definētu datu kopu ar ātruma un attāluma vērtībām.

Datu izveide un at­tē­lo­ša­na

# 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

Vispirms iz­vei­do­sim lietotāja definētu datu kopu, lai novērtētu ātruma un attāluma sav­star­pē­jo saistību. Iz­man­to­sim funkciju data.frame(), lai izveidotu datu rāmi, un pēc tam definēsim mainīgo speed un distance vērtības kā c(15, 20, 25, 30, 35) un c(30, 40, 50, 60, 70).

Pēc datu kopas iz­vei­do­ša­nas mēs to parādīsim, iz­man­to­jot funkciju print(). Tādējādi mēs varam pārbaudīt jauno datu rāmja struktūru un pie­šķir­tās vērtības.

Rezultāts:

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

Lineārā modeļa izveide

# 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

Rezultāts:

"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

Rezultātā redzam lineāro modeli (custom_model), kas tika izveidots datu kopai un modelē at­tie­cī­bas starp ātrumu un attālumu. Mēs iegūstam modeļa rezultātu, ieskaitot koe­fi­cien­tus un sta­tis­tis­ko in­for­mā­ci­ju.

Jaunu ātruma vērtību de­fi­nē­ša­na un prognožu izstrāde

# 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

Tagad esam iz­vei­do­ju­ši vēl vienu datu kopu (new_speed_values) ar jaunām ātruma vērtībām. Tad iz­man­to­jām R predict(), lai izdarītu prognozes par at­bil­sto­ša­jām attāluma vērtībām, iz­man­to­jot iepriekš izveidoto lineāro modeli.

Prognožu pa­rā­dī­ša­na

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

Rezultāti parāda attāluma vērtības, kas prog­no­zē­tas, pa­ma­to­jo­ties uz ātrumu:

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