더북(TheBook)

실행에서 달라진 점은 손실 함수입니다. 선형 회귀이므로 평균 제곱 오차(mean_squared_error)를 적습니다.

model.compile(optimizer='adam', loss='mean_squared_error')

20번 이상 결과가 향상되지 않으면 자동으로 중단되게끔 합니다. 저장될 모델 이름을 ‘Ch15-house.hdf5’로 정하겠습니다. 모델은 차후 ‘22장. 캐글로 시작하는 새로운 도전’에서 다시 사용됩니다(검증셋을 추가하고 싶을 경우 앞서와 마찬가지로 학습셋, 검증셋, 테스트셋의 비율을 각각 60%, 20%, 20%로 정하면 됩니다).

early_stopping_callback = EarlyStopping(monitor='val_loss', patience=20)

modelpath = "./data/model/Ch15-house.hdf5"

checkpointer = ModelCheckpoint(filepath=modelpath, monitor='val_loss', verbose=0, save_best_only=True)

history = model.fit(X_train, y_train, validation_split=0.25, epochs=2000, batch_size=32, callbacks=[early_stopping_callback,checkpointer])

모든 코드를 실행하면 다음과 같습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.