Με τη συνάρτηση predict() της R, μπορείτε να κάνετε προβλέψεις για νέα, αόρατα δεδομένα. Αυτή η συνάρτηση είναι ένα σημαντικό εργαλείο για τη μηχανική μάθηση.

Σε τι χρησιμοποιείται η συνάρτηση predict() στην R;

Η συνάρτηση R predict() είναι ένα ευέλικτο εργαλείο που χρησιμοποιείται στην προγνωστική μοντελοποίηση. Δημιουργεί προβλέψεις για νέα ή υπάρχοντα σημεία δεδομένων με βάση στατιστικά μοντέλα που έχουν σχεδιαστεί προηγουμένως, όπως γραμμική παλινδρόμηση, λογική παλινδρόμηση, δέντρα αποφάσεων και άλλες τεχνικές μοντελοποίησης.

Ποια είναι η σύνταξη για την εντολή predict() στη γλώσσα R;

Η συνάρτηση predict() της R δέχεται ως ορίσματα ένα εκπαιδευμένο μοντέλο και τα σημεία δεδομένων στα οποία πρέπει να εφαρμοστεί η πρόβλεψη. Μπορείτε να καθορίσετε διαφορετικές επιλογές και παραμέτρους με βάση τον τύπο του μοντέλου που χρησιμοποιείται. Το αποτέλεσμα είναι ένας διάνυσμα προβλέψεων που μπορεί να είναι χρήσιμος για διάφορους αναλυτικούς σκοπούς, όπως η αξιολόγηση της απόδοσης ενός μοντέλου, η λήψη αποφάσεων ή η απεικόνιση των δεδομένων που προκύπτουν.

predict(object, newdata, interval)
R
  • object: Το εκπαιδευμένο μοντέλο στο οποίο εφαρμόζονται οι προβλέψεις
  • newdata: Το σημείο δεδομένων για την πρόβλεψη
  • interval: Προαιρετικό όρισμα για την εισαγωγή του τύπου του διαστήματος εμπιστοσύνης (confidence για το μέσο διάστημα, prediction για τις προβλέψεις)

Παράδειγμα χρήσης της συνάρτησης predict() στην R

Το παρακάτω παράδειγμα θα δείξει πώς λειτουργεί η συνάρτηση predict() στο 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)
R

Πρώτα, θα δημιουργήσουμε ένα σύνολο δεδομένων που ορίζεται από τον χρήστη για την αξιολόγηση της σχέσης μεταξύ ταχύτητας και απόστασης. Θα χρησιμοποιήσουμε τη συνάρτηση data.frame() για να δημιουργήσουμε ένα πλαίσιο δεδομένων και στη συνέχεια θα ορίσουμε τις τιμές για τις μεταβλητές speed και distance ως c(15, 20, 25, 30, 35) και c(30, 40, 50, 60, 70) αντίστοιχα.

Αφού δημιουργήσουμε το σύνολο δεδομένων, θα το εμφανίσουμε χρησιμοποιώντας τη συνάρτηση print(). Με αυτόν τον τρόπο μπορούμε να ελέγξουμε τη δομή και τις τιμές που έχουν εκχωρηθεί στο νέο μας πλαίσιο δεδομένων.

Έξοδος:

"Custom Data Frame:"
    speed distance
1        15        30
2        20        40
3        25        50
4        30        60
5        35        70
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))
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
R

Στην έξοδο, βλέπουμε ένα γραμμικό μοντέλο (custom_model) που δημιουργήθηκε για το σύνολο δεδομένων και μοντελοποιεί τη σχέση μεταξύ ταχύτητας και απόστασης. Λαμβάνουμε το αποτέλεσμα του μοντέλου, συμπεριλαμβανομένων των συντελεστών και των στατιστικών πληροφοριών.

Καθορισμός νέων τιμών ταχύτητας και δημιουργία προβλέψεων

# 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

Τώρα δημιουργήσαμε ένα άλλο σύνολο δεδομένων (new_speed_values) με νέες τιμές για την ταχύτητα. Στη συνέχεια, χρησιμοποιήσαμε το R predict() για να κάνουμε προβλέψεις για τις αντίστοιχες τιμές απόστασης χρησιμοποιώντας το γραμμικό μοντέλο που δημιουργήσαμε παραπάνω.

Εμφάνιση των προβλέψεων

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

Η έξοδος δείχνει τις τιμές απόστασης που προβλέπονται με βάση την ταχύτητα:

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