1. 학습
  2. /
  3. 강의
  4. /
  5. R에서 sparklyr로 시작하는 Spark

Connected

연습 문제

훈련/테스트 분할

대부분의 경우 예측 모델을 실행할 때, 데이터의 한 부분(“training” 세트)에 모델을 적합한 뒤, 나머지 데이터(“testing” 세트)에 대해 예측을 검증해야 합니다.

sdf_random_split()은 데이터 프레임을 training 세트와 testing 세트로 분할하는 방법을 제공합니다. 사용법은 다음과 같습니다.

a_tibble %>%
  sdf_random_split(training = 0.7, testing = 0.3)

사용할 때 유의할 점이 두 가지 있습니다. 첫째, 분할 비율의 합이 1이 아니면 1이 되도록 자동으로 스케일됩니다. 예를 들어 training = 0.35, testing = 0.15를 전달하면, 요청한 값의 두 배 비율이 적용됩니다. 둘째, 세트 이름은 원하는 대로 지정할 수 있으며, 두 개보다 더 많은 세트로 분할할 수도 있습니다. 따라서 다음과 같은 코드도 유효합니다.

a_tibble %>%
  sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)

반환값은 tibble 리스트입니다. 일반적인 리스트 인덱싱 연산자를 사용해 각 요소에 접근할 수 있습니다.

partitioned$a
partitioned[["b"]]

지침

100 XP

spark_conn이라는 Spark 연결이 생성되어 있습니다. Spark에 저장된 트랙 메타데이터에 연결된 tibble은 track_metadata_tbl로 미리 정의되어 있습니다.

  • sdf_random_split()을 사용해 트랙 메타데이터를 분할하세요.
    • 70%는 training이라는 세트에 넣으세요.
    • 30%는 testing이라는 세트에 넣으세요.
  • 훈련용 tibble의 sdf_dim() 차원을 확인하세요.
  • 테스트용 tibble의 차원을 확인하세요.