Membedah model durasi penerbangan terbaik
Anda baru saja menyiapkan CrossValidator untuk menemukan parameter yang baik bagi model linear regression yang memprediksi durasi penerbangan.
Pipeline model memiliki beberapa tahap (objek bertipe StringIndexer, OneHotEncoder, VectorAssembler, dan LinearRegression) yang dijalankan secara berurutan. Tahap-tahap ini tersedia sebagai atribut stages pada objek pipeline. Tahap-tahap tersebut direpresentasikan sebagai sebuah daftar dan dieksekusi sesuai urutan kemunculannya di dalam daftar.
Sekarang Anda akan meninjau pipeline lebih dekat, memisahkan setiap tahap, dan menggunakannya untuk membuat prediksi pada data pengujian.
Objek berikut sudah dibuat:
cv— sebuah objekCrossValidatorModelyang telah dilatih danevaluator— sebuah objekRegressionEvaluator.
Data flights telah dibagi secara acak menjadi flights_train dan flights_test.
Latihan ini adalah bagian dari kursus
Machine Learning dengan PySpark
Petunjuk latihan
- Ambil model terbaik.
- Lihat tahap-tahap dalam model terbaik.
- Isolasi tahap linear regression dan ekstrak parameternya.
- Gunakan model terbaik untuk menghasilkan prediksi pada data pengujian dan hitung RMSE.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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 =", ____.____(____))