install : pip install prophet
페이스북(현 메타)에서 만든 라이브러리
주로 일별, 월별, 연별 등 시간과 관련하여 예측 하는것으로 많이 쓰인다
from prophet import Prophet
avocado_prophet_df = df[['Date', 'AveragePrice']]
avocado_prophet_df
avocado_prophet_df.columns=['ds','y']
avocado_prophet_df
ds 컬럼은 일반적으로 날짜나 시간 정보(date 또는 timestamp)를 의미하고
y 컬럼은 종속 변수(target 또는 label)를 나타내는 경우가 많다
그 이전에 프로펫(Prophet) 라이브러리와 같은 타임시리즈 예측 라이브러리에서
일반적으로 사용되는 명명 규칙에 맞추기 위해 수행된다
prophet = Prophet()
라이브러리를 변수로 바꾼뒤
prophet.fit(avocado_prophet_df)
데이터 학습을 시키자
future = prophet.make_future_dataframe( periods = 365, freq = 'D' )
make_future_dataframe( )은 향후 예측을 위해 사용할 빈 DataFrame을 생성하는 코드이며
periods = 365 는 현재 있는 데이터 이후로의 365 기간을 설정해준다
freq='D'는 위에서 생성될 DataFrame의 기간을 'D' Day 일로 설정 하여 365 = 365일 = 1년으로 설정해준다
필요에 따라 주별 월별 연별 시간별 공휴일은 제외 하는등의 기간설정 또한 가능하다
future
기존에 없던 19년 3월까지의 ds콜럼데이터 생성된다
예측을 해보자
forecast = prophet.predict(future)
forecast.tail(1)
prophet으로 예측한 미래값은 forecast로 저장하며
yhat 는 예측값을 의미
trend 는 데이터의 장기적인 경향 즉, 추세를 알 수 있다
lower와 upper는 각각 하한 상한을 나타내고
각종의 데이터들을 알려준다
시각화
숫자로 암만 봐봐야 차트로 보는게 이해가 가장 빠르다
prophet.plot(forecast)
plt.savefig('chart1.png')
plt.show()
prophet.plot_components(forecast)
plt.savefig('chart2.png')
plt.show()
전체의 데이터들을 봤지만 region이 각각 다르기때문에 해당 지역의 결과값을 따로 보자
df_west = df.loc[ df['region'] == 'West', ]
df_west = df_west[['Date','AveragePrice']]
df_west.columns = ['ds','y']
df_west
전체의 결과에선 하락하지만 오르는걸 볼 수 있다
'Python > MachineLearning' 카테고리의 다른 글
Hierarchical Clustering - 개념 (0) | 2024.04.16 |
---|---|
K-Means Clustering - 개념 + WCSS (0) | 2024.04.15 |
Decision Tree 의사결정 트리 - 개념 (0) | 2024.04.15 |
Support Vector Machine - 개념 (0) | 2024.04.15 |
K - Nearest Neighbor - 개념 (0) | 2024.04.15 |