Vliegtijdmodel: Meer features!
Laten we meer features aan ons model toevoegen. Dit levert niet per se een beter model op. Sommige features kunnen het model verbeteren. Andere features kunnen het juist slechter maken.
Meer features maken het model altijd complexer en lastiger te interpreteren.
Dit zijn de features die je in het volgende model opneemt:
kmorg(vertrekluchthaven, one-hot encoded, 8 niveaus)depart(vertrektijd, in bakken van 3 uur, one-hot encoded, 8 niveaus)dow(vertrekdag van de week, one-hot encoded, 7 niveaus) enmon(vertrekmaand, one-hot encoded, 12 niveaus).
Deze zijn samengevoegd in de kolom features, een sparse representatie van 32 kolommen (onthoud dat one-hot encoding een aantal kolommen oplevert dat één minder is dan het aantal niveaus).
De gegevens zijn beschikbaar als flights, willekeurig gesplitst in flights_train en flights_test.
Deze oefening is gebaseerd op een kleine subset van de vluchtgegevens.
Deze oefening maakt deel uit van de cursus
Machine Learning met PySpark
Oefeninstructies
- Fit een lineair regressiemodel op de trainingsgegevens.
- Genereer voorspellingen voor de testgegevens.
- Bereken de RMSE op de testgegevens.
- Bekijk de modelcoëfficiënten. Zijn er coëfficiënten die nul zijn?
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)