Modello della durata del volo: più feature!
Aggiungiamo più feature al nostro modello. Questo non porterà necessariamente a un modello migliore. Aggiungere alcune feature potrebbe migliorarlo, altre potrebbero peggiorarlo.
Più feature renderanno sempre il modello più complesso e difficile da interpretare.
Queste sono le feature che includerai nel prossimo modello:
kmorg(aeroporto di origine, one-hot encoded, 8 livelli)depart(orario di partenza, raggruppato in intervalli di 3 ore, one-hot encoded, 8 livelli)dow(giorno della settimana di partenza, one-hot encoded, 7 livelli) emon(mese di partenza, one-hot encoded, 12 livelli).
Queste sono state assemblate nella colonna features, che è una rappresentazione sparsa di 32 colonne (ricorda che il one-hot encoding produce un numero di colonne pari a uno in meno rispetto al numero di livelli).
I dati sono disponibili come flights, suddivisi casualmente in flights_train e flights_test.
Questo esercizio si basa su un piccolo sottoinsieme dei dati sui voli.
Questo esercizio fa parte del corso
Machine Learning con PySpark
Istruzioni dell'esercizio
- Adatta un modello di regressione lineare ai dati di training.
- Genera le previsioni per i dati di test.
- Calcola l'RMSE sui dati di test.
- Osserva i coefficienti del modello. Ce ne sono alcuni pari a zero?
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
from pyspark.ml.regression import ____
from pyspark.ml.evaluation import ____
# Fit linear regression model to training data
regression = ____(____).____(____)
# Make predictions on testing data
predictions = regression.____(____)
# Calculate the RMSE on testing data
rmse = ____(____).____(____)
print("The test RMSE is", rmse)
# Look at the model coefficients
coeffs = regression.____
print(coeffs)