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

Gruplandırılmış özet istatistikler

Bu egzersizde, daha önce kullandığın .groupBy() ve .filter() metodlarını birleştirerek, her bir şarkıyı oylayan kullanıcı sayısının min() ve avg() değerlerini, ayrıca her bir kullanıcının oyladığı şarkı sayısının min() ve avg() değerlerini hesaplayacağız.

Artık verilerimiz tüketilmemiş öğeler için 0 içerdiğinden, bu tür gruplandırılmış özet istatistikleri yaparken bunları .filter() ile elememiz gerekecek. msd veri kümesi senin için sağlandı. pyspark.sql.functions içinden col(), min() ve avg() fonksiyonları içe aktarıldı.

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

PySpark ile Öneri Motorları Oluşturma

Kursa Göz Atın

Egzersiz talimatları

  • Örnek olarak, .filter(), .groupBy() ve .count() metodları msd veri kümesine uygulanıp .select() ve min() ile birlikte kullanılarak veri kümesindeki herhangi bir şarkının aldığı en küçük puan sayısı döndürülür. Bunu model olarak kullanarak, msd içindeki şarkıların aldığı örtük puanların avg() değerini hesapla.
  • Aynı modeli kullanarak, msd veri kümesinde userIdlerin verdiği örtük puanların min() ve avg() değerlerini bul.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Min num implicit ratings for a song
print("Minimum implicit ratings for a song: ")
msd.filter(col("num_plays") > 0).groupBy("songId").count().select(min("count")).show()

# Avg num implicit ratings per songs
print("Average implicit ratings per song: ")
____.filter(____("____") > 0).groupBy("____").count().____(avg("____")).____()

# Min num implicit ratings from a user
print("Minimum implicit ratings from a user: ")
msd.____(____("num_plays") > ____).____("userId").____().select(____("____")).____()

# Avg num implicit ratings for users
print("Average implicit ratings per user: ")
____.filter(col("num_plays") > 0).____("____").____().____(____("____")).____()
Kodu Düzenle ve Çalıştır