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

Grup etkisiyle veriyi bölme

Herhangi bir model çalıştırmadan önce, verilerini eğitim ve test kümelerine ayırman gerekir. Bu veri kümesinde, sadece sdf_random_split() çağırmana engel olan bir durum var. Sorun şu: Tek bir sanatçının tüm parçaları aynı kümede yer almalı; eğer bir sanatçının parçaları modelin eğitiminde kullanılıp sonra test kümesinde de görünürse, modelin gerçekte olduğundan daha isabetliymiş gibi görünebilir.

Bunu çözmenin püf noktası, yalnızca sanatçı kimliklerini (artist ID) bölmek ve ardından bu bölünmüş kimlikleri orijinal veri kümesiyle inner join yapmaktır. artist_id, parçalar arasında bazı sanatçıların adlarında varyasyonlar kullandığı için, bölme işlemi için artist_name'den daha güvenilirdir. Örneğin, Duke Ellington bazen "Duke Ellington" sanatçı adına sahipken, diğer zamanlarda "Duke Ellington & His Orchestra" ya da birkaç yazım varyantından birini kullanır.

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

R ile sparklyr kullanarak Spark’a Giriş

Kursa Göz Atın

Egzersiz talimatları

spark_conn olarak bir Spark bağlantısı senin için oluşturuldu. Spark'ta depolanan, birleştirilmiş ve filtrelenmiş parça metadataları/tını verisine bağlı bir tibble track_data_tbl olarak önceden tanımlandı.

  • Sanatçı kimliklerini eğitim ve test kümelerine ayır ve sonucu training_testing_artist_ids olarak ata.
    • track_data_tbl içindeki artist_id sütununu seç.
    • Tekil satırları al.
    • Bunu %70 eğitim ve %30 test olacak şekilde böl.
  • Eğitim veri kümesini artist_id ile track_data_tbl üzerine inner join yap ve sonucu track_data_to_model_tbl olarak ata.
  • Test veri kümesini artist_id ile track_data_tbl üzerine inner join yap ve sonucu track_data_to_predict_tbl olarak ata.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# track_data_tbl has been pre-defined
track_data_tbl

training_testing_artist_ids <- track_data_tbl %>%
  # Select the artist ID
  ___ %>%
  # Get distinct rows
  ___ %>%
  # Partition into training/testing sets
  ___

track_data_to_model_tbl <- track_data_tbl %>%
  # Inner join to training partition
  ___

track_data_to_predict_tbl <- track_data_tbl %>%
  # Inner join to testing partition
  ___
Kodu Düzenle ve Çalıştır