군침이 싹 도는 코딩
Prophet 라이브러리를 이용한 Time Series 데이터 예측 방법 본문
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')
# 프로핏이 제공하는 두가지의 차트를 통해 시각화 할 수 있다
이 기능은 버그가 있어 그냥 사용하면 같은 차트가 두개 나오는데
plt.savefig를 통해 파일을 저장해주면 한개만 나오게 할 수있다
'Python > Deep Learning' 카테고리의 다른 글
Modelcheckpoint / CSVLogger 사용법 (0) | 2023.01.02 |
---|---|
Fine Tuning (0) | 2023.01.02 |
Transfer Learning (0) | 2023.01.02 |
이미지 파일을 numpy로 변환 후 학습 (0) | 2022.12.30 |
파이썬으로 파일 다운로드 및 압축파일 푸는 방법 (0) | 2022.12.30 |