MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Tata RDD ratings menjadi ((user, product), rating).
  • Tata RDD predictions menjadi ((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(____))
Edit dan Jalankan Kode