728x90
반응형
SMALL
K겹 교차 검증 (K-fold cross validation)
k-fold cross-validation (k-겹 교차 검증)은 가장 널리 사용되는 교차 검증 방법의 하나로, 데이터를 k개로 분할한 뒤, k-1개를 학습용 데이터 세트로, 1개를 평가용 데이터 세트로 사용하는데, 이 방법을 k번 반복하여 k개의 성능 지표를 얻어내는 방법이다.
k를 4로 설정하는 경우, 데이터를 폴드 (fold)라고 하는 거의 비슷한 크기의 부분 집합 네 개로 나눈다. 그 다음 일련의 모델을 만든다. 첫 번째 모델은 첫 번째 폴드를 평가용 데이터셋으로 사용하고, 두 번째부터 네 번째까지의 폴드 (3개의 폴드)를 학습용 데이터셋으로 사용한다. 그 다음 모델을 두 번째 폴드를 평가용, 1, 3, 4 폴드를 학습용 데이터셋으로 사용한다. 이후도 마찬가지로 수행하여 총 4개의 정확도 값을 얻게 된다.
데이터를 어떻게 나누느냐에 따라서 성능을 평가한 결과가 터무니없이 높거나 낮을 수 있다. 이 방법으로 총 데이터 갯수가 적은 데이터 셋에 대하여 정확도를 향상시킬수 있다.
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_score
# iris 데이터 불러오기
iris= load_iris()
# 로지스틱 회귀 인스턴스 생성
logreg = LogisticRegression()
# k=4로 k-fold cross validation 수행
scores = cross_val_score(logreg, iris.data, iris.target, cv=4)
print("교차 검증 점수: ", scores)
728x90
반응형
LIST
'Learning-driven Methodology > ML (Machine Learning)' 카테고리의 다른 글
[Machine Learning] Histogram-Based Gradient Boosting Ensembles (0) | 2023.07.07 |
---|---|
[LightGBM] 매개변수 조정 (Parameters Tuning) (3) (0) | 2023.07.03 |
[Machine Learning] 사용자기반 협업 필터링 (User-based Filtering) (0) | 2022.12.07 |
[Machine Learning] 추천 시스템 (Recommender System) (0) | 2022.12.07 |
[Machine Learning] 의사 결정 트리 : 붓꽃 (Iris) (0) | 2022.11.29 |