군침이 싹 도는 코딩

Prophet 라이브러리를 이용한 Time Series 데이터 예측 방법 본문

Python/Deep Learning

Prophet 라이브러리를 이용한 Time Series 데이터 예측 방법

mugoori 2023. 1. 2. 17:28
import pandas as pd  
import numpy as np 
import matplotlib.pyplot as plt 
import random
import seaborn as sns
from prophet import Prophet

# Prophet 라이브러리를 이용한 Time Series 데이터를 예측하기위해 필요한 라이브러리를 임포트해준다

 

 

 

from google.colab import drive
drive.mount('/content/drive')

import os
os.chdir('/content/drive/MyDrive/Colab Notebooks/ml_plus/data')

# 자신의 구글 드라이브와 마운트해주고

작업 폴더를 옮겨준다

 

 

 

df =  pd.read_csv('avocado.csv', index_col= 0)
df

# 위의 데이터 파일을 사용할 것이다 이 데이터 파일은 미국의 아보카도 가격 데이터이다

Time Series란 이런 시간과 시간에 관한 컬럼이 들어간 것을 말한다

 

 

 

 

avocado_prophet_df = df[['Date','AveragePrice']]
avocado_prophet_df.columns = ['ds','y']
avocado_prophet_df

# 우선 프로핏에서는 두가지 컬럼만 있으면 된다 날짜와 가격

해당하는 두 컬럼을 가져와 이름을 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)

# 순서에 따라 실행해 준다

periods 365 , freq 'D' 의 뜻은 365개 day 즉 365일로 만들어달라는 뜻이다

숫자나 알파벳을 바꿔 원하는 만큼 빈 데이터 프레임을 만들수 있다

 

 

 

 

forecast

# 예측하고나면 이러한 데이터 프레임이 된다 여기서 y값은 yhet이 된다

 

 

 

prophet.plot(forecast)
plt.savefig('chart1.jpg')

prophet.plot_components(forecast)
plt.savefig('chart2.jpg')

plot
plot_components

# 프로핏이 제공하는 두가지의 차트를 통해 시각화 할 수 있다

이 기능은 버그가 있어 그냥 사용하면 같은 차트가 두개 나오는데

 plt.savefig를 통해 파일을 저장해주면 한개만 나오게 할 수있다