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
Egzersiz talimatları
- Verileri
movieIdile 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")
- Veri kümesindeki herhangi bir filmin aldığı en az puanlama sayısını bulmak için
- Aynısını
userIdile gruplayarak yap veminileavgpuanlama 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: ")
____.____("____").____().____(____("____")).____()