MSE kullanarak model değerlendirme
ALS modelini kullanarak test verisinden tahmin edilen puanları oluşturduktan sonra, bu egzersizin son kısmında modelin Ortalama Kare Hatası’nı (Mean Square Error, MSE) hesaplamak için veriyi hazırlayacaksın. MSE, tüm kullanıcılar için (original rating – predicted rating)**2 değerlerinin ortalamasıdır ve modelin veriye mutlak uyumunu gösterir.
Bunu yapmak için önce ratings_final ve predictions RDD’lerini ((user, product), rating) şeklinde düzenleyeceksin. Her iki RDD’de de eşleme şu şekildedir:
0: user
1: product
2: rating
Ardından dönüştürülmüş RDD’leri join ile birleştirip, son olarak karesel fark fonksiyonunu mean() ile birlikte uygulayarak MSE’yi elde edeceksin.
Unutma, çalışma alanında bir SparkContext sc mevcut. Ayrıca ratings_final ve predictions RDD’leri de çalışma alanında hazır.
Bu egzersiz
PySpark ile Big Data Temelleri
kursunun bir parçasıdırEgzersiz talimatları
ratingsRDD’sini((user, product), rating)olacak şekilde düzenle.predictionsRDD’sini((user, product), rating)olacak şekilde düzenle.- Tahmin RDD’sini puan RDD’si ile join ile birleştir.
- Orijinal puan ile tahmin edilen puan arasındaki MSE’yi hesaplayıp yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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(____))