훈련 세트와 테스트 세트가 필요한 이유는 기본적으로 머신러닝의 성능을 평가할 때 훈련 세트와 테스트 세트가 동일한 환경이어야 때문이다.
하지만 같은 조건의 두 데이터세트를 구하는 것보다 현재 존재하는 데이터 세트를 나눠서 훈련 세트와 테스트 세트를 만드는게 더 쉽기 때문에 보통 후자의 방법을 많이 사용한다.
데이터세트를 분할하기 위해서 caTools라는 라이브러리의 도움을 받을건데 설치를 위해 다음과 같은 커맨드를 입력해준다.
install.packages('caTools')
설치 후 활성화 했다면, 항상 같은 분할값을 얻기 위해 seed 설정을 해주고, 분할해준다.
set.seed(123) # ()에 원하는 시드값을 입력
split = sample.split(dataset$Purchased, SplitRatio = 0.8)
# Purchased 컬럼을 기준으로 잡은건 이 값이 종속변수(결과값)이기 때문
그리고 이 스플릿 변수를 확인하면 아래와 같은 결과가 나온다.
이제 훈련 세트와 테스트 세트를 이렇게 분할된 결과를 나눠 정해주면
training_set = subset(dataset, split == TRUE)
test_set = subset(dataset, split == FALSE)
아래와 같은 결과를 확인할 수 있다.
지금 발견했는데 중간에 뭔가 잘못 커맨드를 날려서 Age값이 날아간 걸 확인했다.
근데 어쨌든 어떻게 하느냐하는 방법과 과정이 중요한거니까 패쓰
'AI > 데이터 전처리' 카테고리의 다른 글
[데이터 전처리 - 5] 데이터 스케일링 (0) | 2022.04.17 |
---|---|
[데이터 전처리 - 3] 범주형 데이터 (Categorical Data) (0) | 2022.04.16 |
[데이터 전처리 - 2] 누락된 데이터 처리 (Taking care of missing data) (0) | 2022.04.16 |
[데이터 전처리 - 1] R Studio로 .scv 읽기 (0) | 2022.04.16 |
댓글