특징
- 훈련 데이터가 많지 않을때 사용
- 훈련 데이터로 학습하고 테스트 데이터로 평가하는 경우, 해당 테스트 데이터에만 과적합되는 모델이 생성되어 일반화 성능이 떨어짐
- 훈련 데이터에서 검증 데이터를 떼어내어 모형을 검증하는 과정을 여러 번 반복함
장점
• 모든 데이터를 학습과 평가에 사용할 수 있음
• 반복 학습과 평가를 통해 정확도를 향상시킬 수 있음
• 데이터가 부족해서 발생하는 과소적합 문제를 방지할 수 있음
• 평가에 사용되는 데이터의 편향을 막을 수 있음
• 좀 더 일반화된 모델을 만들 수 있음
단점
• 반복 횟수가 많아서 모델 학습과 평가에 많은 시간이 소요됨
# 1단계: 불러오기
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import cross_val_score
# 2단계: 선언하기
model = DecisionTreeClassifier(max_depth=5, random_state=1)
# 3단계: 검증하기
cv_score = cross_val_score(model, x_train, y_train, cv=10)
# 확인
print(cv_score)
print(cv_score.mean())