시작하기무료로 시작하기

훈련/테스트 분할

대부분의 경우 예측 모델을 실행할 때, 데이터의 한 부분(“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"]]

이 연습은 강의의 일부입니다

R에서 sparklyr로 시작하는 Spark

강의 보기

연습 안내

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

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

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

partitioned <- track_metadata_tbl %>%
  # Partition into training and testing sets
  ___

# Get the dimensions of the training set
___

# Get the dimensions of the testing set
___
코드 편집 및 실행