Bắt đầu ngayBắt đầu miễn phí

Chia dữ liệu có tính đến hiệu ứng theo nhóm

Trước khi chạy bất kỳ mô hình nào, bạn cần chia dữ liệu thành hai phần: training và testing. Bộ dữ liệu này có một điểm phức tạp, nên bạn không thể chỉ đơn giản gọi sdf_random_split(). Cụ thể, mọi track của cùng một nghệ sĩ phải nằm trong cùng một tập; mô hình sẽ có vẻ chính xác hơn thực tế nếu track của một nghệ sĩ vừa được dùng để huấn luyện vừa xuất hiện trong tập testing.

Mẹo xử lý là chỉ phân chia trên tập artist ID, rồi inner join các ID đã được phân chia đó với bộ dữ liệu gốc. Lưu ý artist_id đáng tin cậy hơn artist_name khi phân chia, vì một số nghệ sĩ dùng các biến thể tên khác nhau giữa các track. Ví dụ, Duke Ellington đôi khi có "Duke Ellington" là tên nghệ sĩ, nhưng lúc khác lại là "Duke Ellington & His Orchestra", hoặc một vài biến thể chính tả khác.

Bài tập này là một phần của khóa học

Nhập môn Spark với sparklyr trong R

Xem khóa học

Hướng dẫn bài tập

Một kết nối Spark đã được tạo sẵn là spark_conn. Một tibble gắn với dữ liệu metadata/timbre của track đã được kết hợp và lọc, lưu trên Spark, đã được định nghĩa sẵn là track_data_tbl.

  • Chia các artist ID thành hai tập training và testing, gán kết quả vào training_testing_artist_ids.
    • Chọn cột artist_id của track_data_tbl.
    • Lấy các dòng duy nhất.
    • Chia theo tỷ lệ 70% training và 30% testing.
  • Inner join tập training với track_data_tbl theo artist_id, gán kết quả vào track_data_to_model_tbl.
  • Inner join tập testing với track_data_tbl theo artist_id, gán kết quả vào track_data_to_predict_tbl.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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
  ___
Chỉnh sửa và Chạy Mã