R 데이터 분할

Jmnote (토론 | 기여)님의 2020년 5월 5일 (화) 22:00 판 (→‎seq())

1 개요

R 데이터 분할

2 seq()

  • 추가 라이브러리 필요 없음
  • 랜덤은 아니고 n번째 추출
  • 비율 지정이 자유롭지 않을 수 있음
nrow(iris) # 150
train_data <- iris[-c(seq(5,nrow(iris),5)),] # 매 5번째만 제외
test_data  <- iris[ c(seq(5,nrow(iris),5)),] # 매 5번째만 포함
nrow(train_data) # 120
nrow(test_data)  # 30

3 sample.split()

  • caTools 라이브러리 필요
df = read.table( header=TRUE, stringsAsFactors=FALSE, text="
name  major gpa
Alice Math  3.3
Bob   Math  3.4
Carol Math  3.5
Dave  Math  3.6
Erin  Math  3.7
Frank Math  3.7
Grace Chem  3.6
Heidi Chem  3.6
Ivan  Chem  3.7
Judy  Chem  3.8
Kelly Chem  3.9
Lee   Chem  4.0
")
library(caTools)
msk = sample.split(df$major, SplitRatio=3/4)
train = df[ msk,]
test  = df[!msk,]
options(echo=T)
print( train )
print( test  )

4 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}