2016-11-20 9 views
3

설명서에서 :캐럿 패키지의 createDataPartition 함수는 어떻게 데이터를 분할합니까?

부트 스트랩 샘플의 경우 간단한 임의 샘플링이 사용됩니다.

다른 데이터 분할의 경우, y가 내의 클래스 분포의 균형을 맞추기위한 요인 일 때 y레벨에서 무작위 샘플링이 수행됩니다.

숫자 y의 경우 샘플은 백분위 수 을 기준으로 그룹 섹션으로 분할되고 이러한 하위 그룹 내에서 샘플링이 수행됩니다.

createDataPartition의 경우 백분위 수는 그룹 인수를 통해 설정됩니다.

"균형"이 필요한 이유를 이해할 수 없습니다. 나는 그것을 표면적으로 이해한다고 생각하지만, 추가적인 통찰력이 도움이 될 것입니다. 당신이있는 경우에 의미

답변

5

, 데이터 설정 ds

당신이 샘플을 만들 수 있습니다

ds$class <- c(rep(1, 9000), rep(2, 1000)) 
ds$class <- as.factor(ds$class) 
table(ds$class) 
# 1 2 
# 9000 1000 

불평등 한 분포 2 "클래스"(1000 VS 9000)와

set.seed(42) 
ds <- data.frame(values = runif(10000)) 

만에, 요소 클래스의 비율/"균형"을 유지하려고 시도합니다.

dpart <- createDataPartition(ds$class, p = 0.1, list = F) 
dsDP <- ds[dpart, ] 
table(dsDP$class) 
# 1 2 
# 900 100