모기예보는 예측이므로 regression(회귀)가 적합!!!
사이킷런과 케라스에서 고민 - 먼저 케라스를 해보기로 함.
Keras 딥러닝 코드 순서
1. 데이터 가져오기
- Pandas를 사용해 가져오기
2. 데이터 랜덤 배치
- 학습데이터 80 : 평가데이터 20으로 랜덤 배치
3. 모델 구성
- Sequential
- 층 쌓기 + activation 정하기
4. 모델 학습과정 설정
- optimizer, loss 정하기
5. 모델 학습 + 학습과정 및 결과보기
- 학습데이터를 넣고 epoch 설정
6. 모델 평가
- 평가데이터로 평가
7. 예측과 실제 값 비교
8. 시각화
세부 설정 과정
Layer
- 처음에 크게 해서 줄여나가려고 총 5층 구성 (1024,500,300,200,1)
- 손실함수가 엄청 높게 나옴.
- 이리 저리 시도해봤으나 계속 실패하다 오류 찾음. - 데이터 스케일링을 누락해버림.
- 데이터 스케일링 후, 다시 하니 처음 층에서 값이 잘 나옴.
- 층도 줄여보고, 노드 수도 줄여봤는데 맨 처음이 신기하게 가장 접합
Activation
- relu로 결정
- sigmoid와 softmax는 회귀에 부적합 - 확인을 위해 이것도 돌려볼 예정
Loss
- mse(평균 제곱 오차), mae(평균 절대 오차)로 그래프 판단
(처음엔 accuracy도 했었는데, 회귀에는 부적합한 것이었음. 정확도는 회귀에는 존재하지 않음!!)
Optimizer
- RSMProop와 adam을 사용해봤는데 adam이 더 정확하게 나옴.
결과
손실함수 mse와 mae가 각각 [0.16464664041996002, 0.2357158660888672]로 나옴.
https://github.com/urtbest86/MLOps/blob/master/211007%EC%B5%9C%EC%A2%85%EB%B3%B8.ipynb
멘토님 피드백 결과, validation 데이터도 나눠서 결과를 봐야 더 정확함을 알게 됨.
validation을 분리 후, 모델 학습 측정 예정
'MLOps 프로젝트 > 프로젝트 진행 상황' 카테고리의 다른 글
모기예보와 날씨 상관 분석 (0) | 2021.10.14 |
---|---|
모기예보 내용 정리 (0) | 2021.10.14 |
주제 선정 (0) | 2021.10.14 |