DEEP.I - Lab

오프라인 공간의 지능화를 꿈꾸는 딥아이 연구실입니다.

Python/Tensorflow

[Tensorflow] K-Fold 교차 검증으로 학습 모델 검증하기 (sklearn)

Jongwon Kim 2021. 2. 21. 14:01
반응형

Concept

K-Fold Cross Validation (K 폴드 교차 검증)은 데이터 수가 적을 때, 보다 확실한 검증과 정확도 향상을 위해 사용되는 검증 기법입니다. 

 

파이썬 sklearn 라이브러리에는 K-Fold를 쉽게 정의해주는 함수를 포함하고 있습니다.

from sklearn.model_selection import KFold

# K-FOLD 정의
nb_split = 5 # 분할 개수
KF = KFold(n_splits=n_split, shuffle=True)

 

정의한 이후, 학습 단계에서 for문으로 데이터를 분할하면 됩니다. 예를 들어 pandas로 입력된 DataFrame 데이터는 다음과 같이 데이터가 k-fold로 나뉘게 됩니다.

for train_idx, valid_inx in kf.split(train_data):

    # 학습 데이터
    train_in = train_data.iloc[train_idx]
    # 검증 데이터
    valid_in = train_data.iloc[valid_inx]

 

이후 단계는 기존 알고리즘 학습과 동일합니다. 평균 성능 검증을 위해선 분할된 만큼 개별적으로 검증 데이터로 검증되어야 하며 최적 가중치 역시 개별적으로 학습되어야 하기때문에 기존 학습 대비 K배 만큼의 시간이 더 소요됩니다.

 

Your Best AI Partner DEEP.I
AI 바우처 공급 기업
객체 추적 및 행동 분석 솔루션 | 제조 생산품 품질 검사 솔루션 | AI 엣지 컴퓨팅 시스템 개발

인공지능 프로젝트 개발 외주 및 상담
E-mail: contact@deep-i.ai
Site: www.deep-i.ai

 

딥아이 DEEP.I | AI 기반 지능형 기업 솔루션

딥아이는 AI 기술의 정상화라는 목표를 갖고, 최첨단 딥러닝 기술 기반의 기업 솔루션을 제공하고 있으며, 이를 통해 고도의 AI 기반 객체 탐지, 분석, 추적 기능을 통합하여 다양한 산업 분야에

deep-i.ai

 

반응형