R: la funzione predict() per la modellazione predittiva

La funzione predict() in R svolge un compito particolare nel contesto dell’apprendimento automatico, in quanto permette di calcolare previsioni per dati nuovi, non ancora incontrati.

A cosa serve la funzione predict() in R?

La funzione predict() in R è uno strumento versatile, utilizzato nella modellazione predittiva. Serve a generare previsioni per punti di dati nuovi o già presenti sulla base di un modello statistico già progettato. Questo modello può essere creato, ad esempio, mediante regressione lineare, regressione logistica, alberi decisionali o altre tecniche di modellazione.

Come è strutturata la funzione predict() in R

La funzione predict() accetta come argomenti il modello addestrato e i punti di dati per i quali devono essere calcolate le previsioni. A seconda del tipo del modello è possibile specificare diverse opzioni e parametri. Il risultato è un vettore di previsioni che può essere poi utile per diversi scopi di analisi. Questi comprendono la valutazione delle prestazioni del modello, il processo decisionale o la visualizzazione dei dati risultanti.

predict(object, newdata, interval)
R
  • object: il modello addestrato sul quale devono essere applicate le previsioni.
  • newdata: i punti di dati per le previsioni
  • interval: argomento opzionale per indicare il tipo di intervallo di confidenza (confidence per i valori medi, prediction per le previsioni)

Esempio di applicazione della funzione predict in R

L’esempio seguente mostra il funzionamento di predict() in R. A tal fine utilizziamo un record di dati personalizzato con valori di velocità e distanza.

Creazione e visualizzazione dei dati

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

Nel primo passaggio di questo esempio costruiamo un record di dati personalizzato per analizzare la relazione fra velocità (speed) e distanza percorsa (distance). A tal fine utilizziamo la funzione data.frame() per creare un frame di dati. Con c(15, 20, 25, 30, 35) e c(30, 40, 50, 60, 70) definiamo dei valori concreti per le variabili speed e distance.

Dopo aver creato il record di dati, lo visualizziamo per mezzo della funzione print(). In questo modo è possibile verificare visivamente la struttura e i valori assegnati del nuovo frame di dati.

Output:

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

Creazione di un modello lineare

# 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

Output:

"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

Nell’output si riconosce un modello lineare (custom_model) che è stato generato per il record di dati e che modella la relazione fra velocità e distanza. Otteniamo quindi i risultati del modello, inclusi i coefficienti e le informazioni statistiche.

Definizione di nuovi valori di velocità e calcolo delle previsioni

# 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

Ora definiamo un ulteriore record di dati (new_speed_values) con nuovi valori di velocità. Successivamente, con predict() in R vengono calcolate le previsioni per i relativi valori di distanza utilizzando il modello lineare creato in precedenza.

Visualizzazione delle previsioni

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

L’output ci mostra i valori di distanza previsti a seconda della velocità:

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

Se vuoi sapere come elaborare le stringhe in R per la manipolazione dei testi e la pulizia dei dati, segui i tutorial su gsub e sub in R e substring in R che trovi nella nostra guida.

Il tuo web hosting come mai prima d'ora
  • Certificato SSL e protezione DDoS
  • Velocità, flessibilità e scalabilità
  • Dominio e consulente personale
  • 1 anno gratis del gestionale di fatturazione elettronica FlexTax
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top