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

MovieLens Özet İstatistikleri

groupBy() metodunu biraz daha ileri götürelim.

Bir veri çerçevesine .groupBy() uyguladıktan sonra, .sum(), .avg(), .min() gibi toplulaştırma (aggregate) fonksiyonlarını çalıştırabilir ve sonuçları gruplu halde elde edebilirsin. Bu egzersiz, bunun nasıl yapıldığını adım adım gösterecek. min ve avg fonksiyonları senin için pyspark.sql.functions içinden içe aktarılmıştır.

Bu egzersiz, kursun bir parçasıdır

PySpark ile Öneri Motorları Oluşturma

Kursa Göz Atın

Egzersiz talimatları

  • Verileri movieId ile grupla ve her filmin kaç puanlama aldığını hesaplamak için .count() metodunu kullan. Buradan, aşağıdaki metrikleri seçmek için .select() metodunu çağır:
    • Veri kümesindeki herhangi bir filmin aldığı en az puanlama sayısını bulmak için min("count"). İlk örnek olarak bu verilmiştir.
    • Film başına ortalama puanlama sayısını bulmak için avg("count")
  • Aynısını userId ile gruplayarak yap ve min ile avg puanlama sayılarını elde et.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Min num ratings for movies
print("Movie with the fewest ratings: ")
ratings.groupBy("movieId").count().select(min("count")).show()

# Avg num ratings per movie
print("Avg num ratings per movie: ")
____.groupBy("____").count().____(avg("____")).____()

# Min num ratings for user
print("User with the fewest ratings: ")
ratings.____("userId").____().select(____("____")).____()

# Avg num ratings per users
print("Avg num ratings per user: ")
____.____("____").____().____(____("____")).____()
Kodu Düzenle ve Çalıştır