BaşlayınÜcretsiz Başlayın

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ır
Kursu Görüntüle

Egzersiz talimatları

  • ratings RDD’sini ((user, product), rating) olacak şekilde düzenle.
  • predictions RDD’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(____))
Kodu Düzenle ve Çalıştır