본문 바로가기

배우기/복습노트[Python과 분석]

[복습] Python | 분석 | 딥러닝(ANN) - stopping rule 적용

728x90
반응형

https://metime.tistory.com/386

 

위 게시글에 이어서 cancer data 분석에 대하여 stopping rule을 적용해보겠다.

 

epoch 설정 시 stopping rule 적용은 오차, 정확도가 일정 이상 변화나 개선이 없을 때 자동으로  stop 되도록 설계하는 것이다.

 

epoch가 많아질수록 과대적합되며, epoch 수를 관측하여 많아지기 전에 중단 시키는 것이 좋다.

 

 

 

 

1. 데이터 로딩

 

 

 

2. 스케일링

 

 

 

3. Y 더미 변수 변경

 

 

4. train/test split

 

 

 

5. 모델링

1) seed값 고정

 

 

2) 모델 정의

 

 

3) 오차함수, 최적화 함수 정의

 

 

4) 정지 규칙 생성

 

monitor 설정이 중요하다. 정지 규칙을 만드는 측정 대상이다.

patience 는 모니터링 횟수이다(5로 지정하면, 5회 이상 개선이 되지 않으면 stop을 하겠다는 의미이다)

 

 

 

지금 이미 train/test를 나누어 놓아서 validation이 없다.

다시 train을 tr, val로 나누거나(첫 번째 선택지), fitting 할 때 validation dataset을 split 지정해야(두 번째 선택지) 한다.

두 번째 선택지는 옵션으로 가능하기 때문에 두 번째 방법으로 진행하겠다.

 

5) 학습

여기서 epochs는 188에서 멈췄고, loss는 0.0259, accuracy는 0.9881, val_loss는 0.0426, val_accuracy는 0.8929 나왔다.

 

 

 

6) 평가

 

 

728x90

 

 

7) 학습 결과

model_fit.history['loss']

model_fit.history['accuracy']

model_fit.history['val_loss']

model_fit.history['val_accuracy']

로 나타낼 수 있으며 위 결과를  plotting 해보자.

 

 

 

 

728x90
반응형