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 merupakan bagian dari kursus
Fundamental Big Data dengan PySpark
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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(____))