Mulai sekarangMulai gratis

Membagi data dengan efek kelompok

Sebelum Anda dapat menjalankan model apa pun, Anda perlu membagi data menjadi himpunan pelatihan dan pengujian. Ada satu komplikasi pada himpunan data ini, sehingga Anda tidak bisa begitu saja memanggil sdf_random_split(). Komplikasinya adalah setiap track dari satu artis sebaiknya muncul dalam himpunan yang sama; model Anda akan tampak lebih akurat daripada kenyataannya jika track dari seorang artis digunakan untuk melatih model lalu muncul di himpunan pengujian.

Trik untuk mengatasinya adalah dengan membagi hanya ID artis, lalu melakukan inner join ID yang telah dibagi tersebut ke himpunan data asli. Perhatikan bahwa artist_id lebih andal daripada artist_name untuk pembagian, karena beberapa artis menggunakan variasi nama antara track. Sebagai contoh, Duke Ellington terkadang memiliki nama artis "Duke Ellington", tetapi di lain waktu bernama "Duke Ellington & His Orchestra", atau salah satu dari beberapa variasi ejaan.

Latihan ini merupakan bagian dari kursus

Pengantar Spark dengan sparklyr di R

Lihat Kursus

Instruksi latihan

Koneksi Spark telah dibuat untuk Anda sebagai spark_conn. Sebuah tibble yang terhubung ke gabungan dan penyaringan data metadata/timbre track yang disimpan di Spark telah didefinisikan sebelumnya sebagai track_data_tbl.

  • Bagi ID artis menjadi himpunan pelatihan dan pengujian, dan simpan hasilnya ke training_testing_artist_ids.
    • Pilih kolom artist_id dari track_data_tbl.
    • Dapatkan baris yang unik.
    • Bagi menjadi 70% pelatihan dan 30% pengujian.
  • Lakukan inner join himpunan data pelatihan ke track_data_tbl berdasarkan artist_id, dan simpan hasilnya ke track_data_to_model_tbl.
  • Lakukan inner join himpunan data pengujian ke track_data_tbl berdasarkan artist_id, dan simpan hasilnya ke track_data_to_predict_tbl.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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
  ___
Edit dan Jalankan Kode