Analiza celui mai bun model de durată a zborurilor
Tocmai ai configurat un CrossValidator pentru a găsi parametri buni pentru modelul de regresie liniară care prezice durata zborurilor.
Pipeline-ul modelului are mai multe etape (obiecte de tip StringIndexer, OneHotEncoder, VectorAssembler și LinearRegression), care se execută în secvență. Etapele sunt disponibile prin atributul stages al obiectului pipeline. Ele sunt reprezentate printr-o listă, iar ordinea de execuție corespunde ordinii din listă.
Acum vei analiza mai îndeaproape pipeline-ul, vei separa etapele și vei folosi modelul pentru a genera predicții pe datele de testare.
Următoarele obiecte au fost deja create:
cv— un obiectCrossValidatorModelantrenat șievaluator— un obiectRegressionEvaluator.
Datele despre zboruri au fost împărțite aleatoriu în flights_train și flights_test.
Acest exercițiu face parte din cursul
Machine Learning cu PySpark
Instrucțiuni pentru exercițiu
- Recuperează cel mai bun model.
- Examinează etapele din cel mai bun model.
- Izolează etapa de regresie liniară și extrage parametrii acesteia.
- Folosește cel mai bun model pentru a genera predicții pe datele de testare și calculează RMSE.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Get the best model from cross validation
best_model = cv.____
# Look at the stages in the best model
print(best_model.____)
# Get the parameters for the LinearRegression object in the best model
best_model.____.extractParamMap()
# Generate predictions on testing data using the best model then calculate RMSE
predictions = ____.____(____)
print("RMSE =", ____.____(____))