| import streamlit as st
|
| import pandas as pd
|
| from prophet import Prophet
|
| import matplotlib.pyplot as plt
|
|
|
| st.title("📈 Demand Forecasting App (Prophet ile)")
|
|
|
|
|
| @st.cache_data
|
| def load_data():
|
| df = pd.read_csv("train.csv")
|
| df['date'] = pd.to_datetime(df['date'])
|
| return df
|
|
|
| df = load_data()
|
|
|
|
|
| store = st.selectbox("Mağaza Seç", sorted(df['store'].unique()))
|
| item = st.selectbox("Ürün Seç", sorted(df['item'].unique()))
|
|
|
|
|
| filtered = df[(df['store'] == store) & (df['item'] == item)]
|
| dfp = filtered[['date', 'sales']].rename(columns={'date': 'ds', 'sales': 'y'})
|
|
|
|
|
| model = Prophet()
|
| model.fit(dfp)
|
|
|
|
|
| future = model.make_future_dataframe(periods=90)
|
| forecast = model.predict(future)
|
|
|
|
|
| st.subheader("📊 Tahmin Grafiği")
|
| fig1 = model.plot(forecast)
|
| st.pyplot(fig1)
|
|
|
|
|
| st.subheader("🧠 Mevsimsellik & Trend Bileşenleri")
|
| fig2 = model.plot_components(forecast)
|
| st.pyplot(fig2)
|
|
|