반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 독서 #독서후기 #피로사회 #행동과잉 #긍정과잉
- 면접왕 이형
- 밑시딥
- 보이스피싱
- 뉴로 심볼릭
- 예측선
- 밑시딥2
- andoriod with kotlin
- 딥페이크
- 밑바닥부터 시작하는 딥러닝
- GPT-3
- gradiant descent
- MRC
- 경제신문스크랩
- 안드로이드
- 면접왕이형
- ESG
- 안드로이드 구조
- 학습 자동 중단
- 모두의 딥러닝
- ESG 채권
- 로지스틱 회귀법
- 경사하강법
- 과적합
- 베스트 모델
- 다중분류
- 선형회귀
- k겹 교차검증
- 코틀린
- nlp
Archives
- Today
- Total
Practice makes perfect!
[모두의 딥러닝] 14장 베스트 모델 만들기 본문
# 데이터 입력
df_pre = pd.read_csv('../dataset/wine.csv', header=None)
# sample()는 원본 데이터에서 정해진 비율만큼 랜덤으로 뽑아오는 함수.
# frac=1은 100%
df = df_pre.sample(frac=1)
# 모델 업데이트
모델 저장 폴더 설정 (에포크마다 모델의 정확도를 저장할 폴더)
MODEL_DIR = './model/'
if not os.path.exists(MODEL_DIR): # 폴더가 존재하지 않으면
os.mkdir(MODEL_DIR) # 이 이름의 폴더 생성
# checkpointer에 모니터할 값 지정
val_loss : 테스트 오차(케라스 내부에서 기록되는 값)
모델이 저장될 곳 : 위에서 생성한 modelpath
verbose가 1이면 해당함수 진행사항 출력, 0이면 출력 안함.
save_best_only=True 로 하면 테스트 오차(var_loss)를 실행한 결과값이 향상됐을 때만 저장함
checkpointer = ModelCheckpoint(filepath=modelpath, monitor='val_loss', verbose=1, save_best_only=True)
# 모델 실행 및 저장
모델을 학습할 때마다 checkpointer의 값을 받아 지정된 곳에 모델 저장
validation_split : 불러온 샘플 중 20%를 테스트셋으로 사용
batch_size는 한번 딥러닝 가동될 때 입력하는 크기
model.fit(X, Y, validation_split=0.2, epochs=200, batch_size=200, verbose=0, callbacks=[checkpointer])
학습 자동 중단
- 학습이 진행될수록 학습셋의 정확도는 올라가지만 과적합 때문에 테스트셋의 실험 결과는 점점 나빠지는 것을 확인할 수 있음
- EarlyStopping() 함수를 이용해 테스트셋 오차가 줄지 않으면 학습을 멈추도록 함.
# 자동 중단 설정
patience : 테스트 오차가 좋아지지 않아도 100번까지는 기다림
early_stopping_callback = EarlyStopping(monitor='val_loss', patience=100)
# 모델 실행
model.fit(X, Y, validation_split=0.2, epochs=2000, batch_size=500, callbacks=[early_stopping_callback])
에포크를 2000으로 설정했지만 그 전에 멈추는 것을 확인할 수 있음.
반응형
'Study > 딥러닝' 카테고리의 다른 글
[밑시딥2] 2장 자연어와 단어의 분산 표현 (0) | 2021.09.25 |
---|---|
[모두의 딥러닝] 13장 과적합 피하기 (0) | 2021.05.29 |
[모두의 딥러닝] 12장 다중 분류 문제 해결하기 (0) | 2021.05.29 |
[모두의 딥러닝] 11장 데이터 다루기 (0) | 2021.05.29 |
[모두의 딥러닝] 10장 모델 설계하기 (0) | 2021.04.17 |
Comments