시작하기무료로 시작하기

무작위 테스트/훈련 분할 생성하기

다음 몇 개의 연습 문제에서는 ggplot2 패키지의 mpg 데이터를 사용합니다. 이 데이터는 여러 연식의 다양한 자동차 제조사와 모델의 특성을 담고 있습니다. 목표는 고속도로 연비로부터 도심 연비를 예측하는 것입니다.

이 연습에서는 mpg를 훈련 세트 mpg_train(데이터의 75%)과 테스트 세트 mpg_test(데이터의 25%)로 분할합니다. 한 가지 방법은 runif() 함수(docs)를 사용해 0과 1 사이의 균등분포 난수로 이루어진 열을 생성하는 것입니다.

크기가 $N$인 데이터셋 dframe이 있고, $X$가 0과 1 사이일 때 $N$의 대략 \(100 * X\)% 크기의 무작위 부분집합을 만들고 싶다면 다음과 같이 합니다.

  1. 균등분포 난수 벡터를 생성합니다: gp = runif(N).
  2. dframe[gp < X,]의 크기가 대략 원하는 크기와 비슷합니다.
  3. dframe[gp >= X,]는 그 여집합입니다.

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

R로 하는 Supervised Learning: 회귀

강의 보기

연습 안내

  • 함수 nrow(docs)를 사용해 데이터 프레임 mpg의 행 개수를 구하세요. 이 값을 변수 N에 할당하고 출력하세요.
  • N의 75%가 대략 몇 행인지 계산하세요. 변수 target에 할당하고 출력하세요.
  • runif()를 사용해 길이가 N인 균등분포 난수 벡터 gp를 생성하세요.
  • gp를 사용해 mpgmpg_trainmpg_test로 분할하세요(mpg_train에는 데이터의 약 75%가 들어가야 합니다).
  • nrow()mpg_trainmpg_test의 크기를 확인하세요. 대략 원하는 비율이 맞나요?

실습형 인터랙티브 연습

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

# mpg is available
summary(mpg)
dim(mpg)

# Use nrow to get the number of rows in mpg (N) and print it
(N <- ___)

# Calculate how many rows 75% of N should be and print it
# Hint: use round() to get an integer
(target <- ___)

# Create the vector of N uniform random variables: gp
gp <- ___

# Use gp to create the training set: mpg_train (75% of data) and mpg_test (25% of data)
mpg_train <- ___
mpg_test <- ___

# Use nrow() to examine mpg_train and mpg_test
___
___
코드 편집 및 실행