[python] 교차 검증하기
교차 검증의 주요 장점은 다음과 같습니다:
- 과적합을 방지하여 모델의 일반화 성능을 높일 수 있습니다.
- 데이터의 편향을 감소시킬 수 있습니다.
Python에서는 cross_val_score
함수를 사용하여 교차 검증을 수행할 수 있습니다. 다음은 cross_val_score
함수를 사용하는 간단한 예제입니다.
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
# 데이터 불러오기
iris = load_iris()
X = iris.data
y = iris.target
# 모델 생성
model = LogisticRegression()
# 교차 검증 수행
scores = cross_val_score(model, X, y, cv=5)
print('교차 검증 점수:', scores)
print('평균 교차 검증 점수:', scores.mean())
이 예제에서는 load_iris
데이터셋을 불러온 후, 로지스틱 회귀 모델에 대해 5-겹 교차 검증을 수행하고, 각 폴드의 평가 점수와 평균 교차 검증 점수를 출력합니다.
더 복잡한 모델과 데이터셋에 대해서는 적절한 교차 검증 전략을 선택하는 것이 중요합니다. GridSearchCV나 StratifiedKFold 등 다양한 교차 검증 기법을 활용할 수 있습니다.
참고 자료:
- https://scikit-learn.org/stable/modules/cross_validation.html
- https://machinelearningmastery.com/cross-validation-for-imbalanced-classification/
- https://ko.wikipedia.org/wiki/%EA%B5%90%EC%B0%A8_%EA%B2%80%EC%A0%95