Evaluasi model menggunakan MSE
Setelah menghasilkan rating prediksi dari data uji menggunakan model ALS, pada bagian terakhir latihan ini, Anda akan menyiapkan data untuk menghitung Mean Square Error (MSE) dari model. MSE adalah nilai rata-rata dari (original rating – predicted rating)**2 untuk semua user dan menunjukkan tingkat kesesuaian absolut model terhadap data.
Untuk melakukannya, pertama, Anda akan menata RDD ratings_final dan predictions agar membentuk tuple ((user, product), rating). Pada kedua RDD, pemetaannya adalah:
0: user
1: product
2: rating
Lalu Anda akan melakukan join pada RDD yang sudah ditransformasikan dan akhirnya menerapkan fungsi selisih kuadrat bersama mean() untuk mendapatkan MSE.
Ingat, Anda memiliki SparkContext sc di workspace Anda. Selain itu, RDD ratings_final dan predictions sudah tersedia di workspace Anda.
Latihan ini adalah bagian dari kursus
Fundamental Big Data dengan PySpark
Petunjuk latihan
- Tata RDD
ratingsmenjadi((user, product), rating). - Tata RDD
predictionsmenjadi((user, product), rating). - Lakukan join RDD prediksi dengan RDD rating.
- Evaluasi model menggunakan MSE antara rating asli dan rating prediksi lalu cetak hasilnya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Prepare ratings data
rates = ratings_final.____(lambda r: ((r[0], r[1]), ____))
# Prepare predictions data
preds = predictions.____(lambda r: ((____, ____), ____))
# Join the ratings data with predictions data
rates_and_preds = rates.____(preds)
# Calculate and print MSE
MSE = rates_and_preds.____(lambda r: (r[1][0] - r[1]____)**2).mean()
print("Mean Squared Error of the model for the test data = {:.2f}".format(____))