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) 평가
7) 학습 결과
model_fit.history['loss']
model_fit.history['accuracy']
model_fit.history['val_loss']
model_fit.history['val_accuracy']
로 나타낼 수 있으며 위 결과를 plotting 해보자.
'배우기 > 복습노트[Python과 분석]' 카테고리의 다른 글
[복습] Python | 분석 | 딥러닝(CNN) 이미지 분석(2) + 하루끝(20240402) (0) | 2024.04.12 |
---|---|
[복습] Python | 분석 | 딥러닝(CNN) 이미지 분석 + 하루끝(20240401) (0) | 2024.04.01 |
[복습] Python | 분석 | 딥러닝(ANN) (0) | 2024.04.01 |
[복습] Python | 분석 | 시계열 분석(2) (0) | 2024.03.10 |
[복습] Python | 분석 | 군집분석(5) (0) | 2024.03.06 |