prophet 라이브러리는 페이스북에서 개발한 라이브러리로써 타임 시리즈 데이터를 자동으로 인식해 그래프를 그려주고 그 데이터의 1년후 10년후 데이터를 예측한다.
prophet을 써보자
우선 라이브러리를 호출한다.
# import libraries
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import random
import seaborn as sns
from prophet import Prophet
데이터 읽는 방법은 저번시간에도 진행하였고 학습할 데이터를 직접구한것이라 여러분도 타임 시리즈 데이터를 구해서 데이터를 불러보자
필자는 미국의 아보카도 리테일 데이터를 썻다. (2018년도 weekly 데이터)
데이터를 불러왔으면 prophet에 맞는 데이터로 가공해야 한다.
날짜를 순서대로 정리한다.
# 날짜를 정렬한다.
df.sort_values('Date',inplace=True)
프로펫 분석에는 크게 2가지 컬럼이 쓰이므로 컬럼 2개만 가져온다.
#컬럼 2개만 가져오기
avocado_prophet_df = df[['Date','AveragePrice']]
프로펫분석을 위해 가져온 두컬럼의 컬럼명을 바꾼다.
avocado_prophet_df.columns = ['ds','y']
프로펫 변수를 만들고 데이터를 프로펫에 학습시킨다.
#1. 라이브러리로 변수로 만들고,
prophet = Prophet()
#2. 데이터로, 학습시킨다.
prophet.fit(avocado_prophet_df)
데이터를 학습한 다음에는 미래 기간을 임의로 설정하여 값을 예측 할 수 있다. 임의로 설정시 프로펫은 기간이 인덱스인 비어있는데이터를 만든다.
#3. 예측하고자 하는 기간을 정해서, 비어 있는 데이터 프레임을 만든다!
future=prophet.make_future_dataframe(periods=365,freq = 'D')
#4. 미래 날짜까지 만들어져 있으니,
# 위에 future 데이터프레임을 이용해서, 예측할 수 있다.
forecast=prophet.predict(future)
forecast값을 프로펫 그래프로 시각화한다.
prophet.plot(forecast)
plt.savefig('chart1.jpg')
그럼 이렇게 그래프로 미래값을 예측하여 표현한다. 2018년 02월 이전 데이터는 다 실제값이고 02월 이후에는 예측데이터들이다.
경향도 예측 할 수 있다.
prophet.plot_components(forecast)
plt.savefig('chart2.jpg')
경향 예측 버그로 인하여 같은 값이 2번 반복되기 때문에 하나의 이미지를 백업한다는 느낌으로 저장해준다.
반응형
'딥러닝' 카테고리의 다른 글
딥러닝(19) 에포크시마다 가장 좋은 모델을 저장하는 모델체크포인트 사용방법 (0) | 2023.01.03 |
---|---|
딥러닝(18) Transfer Learning과 Fine Tunning (0) | 2023.01.03 |
딥러닝(17) 원본파일을 트레인/테스트 파일로 분리하여 사용하는 방법 (0) | 2023.01.03 |
딥러닝(16) ImageDataGenerator 사용하기 (0) | 2023.01.02 |
딥러닝(15) 텐서플로우를 활용한 CNN (0) | 2023.01.02 |