기상청의 지진발생현황 Time Series Dataset(시계열 데이터 세트)로 향후 1년간 지진 진도수를 예측해보는 예제 입니다.
Time Serise Dataset 은 한국기상청 국내지진목록 자료로 참고 하였습니다.
예측 API는 facebook의 open 소스 fbprophet API를 호출하여 예측 하였으며 자세한 정보는 fbprophet의
링크된 Guide를 참조 하세요.
Time Series Datasets 으로 한국 지역별 지진 예측 하기 예제
# Pakage https://github.com/facebook/Prophet
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from fbprophet import Prophet
▣ numpy, pandas, matplotlib 를 import 합니다.
▣ 국내지진목록 Time Series Dataset를 cvs 화일로 변환합니다.
data_path = 'Datasets/'
df = pd.read_csv(data_path + 'earthquake_korea_2019.csv', header=0, delimiter=',')
▣ Time Serise Dataset의 예측학습하고자 하는 지역영문명을 지정합니다.
df = df.loc[(df.mainarea == 'Gyeongsangbuk-do')]
df['Date'] = pd.to_datetime(df['date'])
▣ fbprophet 의 입력은 항상 두개의 열이 있는 dataframe을 날짜 (ds) 와 지진진도 (y) 를 대상으로 합니다.
data = df[['Date', 'magnitude']].reset_index(drop=True)
data = data.rename(columns={'Date': 'ds', 'magnitude': 'y'})
# Prophet Model
model = Prophet()
▣ fbprophet 의 fit 메소드를 호출하여 학습을 합니다.
# Prophet Training
model.fit(data)
▣ fbprophet 로 예측을 하고자하는 일수를 지정합니다. (예: 이후 365을 예측 하고자하는경우 365를 지정)
future = model.make_future_dataframe(periods=365)
forecast = model.predict(future)
forecast.tail()
▣ fbprophet 로 예측된 데이터 프레임을 그래프로 출력합니다.
fig1 = model.plot(forecast)
plt.show()
실행 결과
'TensorFlow 2.0' 카테고리의 다른 글
얼굴을 인식한 이미지 배열을 Numpy 저장하는 딥러닝 모델 예제 (0) | 2019.11.24 |
---|---|
Torchvision 을 사용한 사람의 키포인트를 찾아내는 딥러닝 모델 예제 (0) | 2019.11.23 |
숫자 인식 학습된 모델을 읽어 손글씨 숫자를 인식 검증하는 예제 (0) | 2019.11.11 |
텐서플로우 손글씨 숫자 인식 학습하고 결과 저장하기 예제 (0) | 2019.11.11 |
텐서플로우 학습모델(HDF5) 저장하고 불러오기 예제 (0) | 2019.11.03 |