[이 글은 "Do it 딥러닝 입문" 책을 보고 공부한 내용을 복습하고자 정리한 글입니다.]
목표 - 교차 검증을 이해한다.
교차 검증이란?
전체 데이트 세트를 8:2로 나눈 다음 8에 해당되는 훈련 세트를 다시 5개의 작은 덩어리로 나눠 1개씩 검증 세트를 만들어 훈련시키는 방법이다.
교차 검증 과정
- 훈련 세트를 k개의 폴드로 나눔.
- 첫 번째 폴드를 검증 세트로 사용하고 나머지 폴드(k-1)를 훈련세트로 사용함.
- 모델을 훈련한 뒤 검증 세트로 평가.
- 차례대로 다음 폴드를 검증 세트로 사용하여 반복.
- 최종 성능을 계산.
교차 검증에서 훈련 데이터의 표준화 전처리를 폴드를 나눈 후에 하는 이유?
- 훈련을 하기 전에 데이터 전처리를 하고 폴드로 나눈 다면 검증 폴드의 정보를 누설하게 되어 성능개선이 안될 수도 있다.
Pipeline 클래스
- 사이킷런은 검증 폴드가 전처리 단계에서 누설되지 않도록 전처리 단계와 모델 클래스를 하나로 연결해 주는 Pipeline 클래스를 제공한다.
cross_validate
- 사이킷런은 교차 검증 모델을 제공함.
테스트 과정
- sgd 모델을 정의.
- make_pipeline을 이용해 전처리해주는 모듈과 sgd를 묶어 pipe를 만들어 준다.
- cross_validate 모델에 pipe를 넣어준 뒤 cv 파라미터에 훈련 데이터를 나눌 크기를 정해준다.
반응형
'빅데이터 | 머신러닝 | 딥러닝 > 딥러닝' 카테고리의 다른 글
[딥러닝 기초] 다층 신경망을 통해 의류분류기 만들어보기 (4) | 2020.05.12 |
---|---|
[딥러닝 기초] 다층 신경망 (MLPClassifier) (0) | 2020.05.08 |
[딥러닝 기초] Neural Network (L1, L2 규제) (0) | 2020.04.25 |
[딥러닝 기초] Neural Network (훈련 노하우) (0) | 2020.04.24 |
[딥러닝 기초] Neural Network (use cancer dataset/classfication) (0) | 2020.04.19 |