hocuf's picture
Update app.py
18e7411 verified
import streamlit as st
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# Başlık
st.title('Stok Takip ve Tahmin Sistemi')
# Kullanıcıdan veri alacağız
st.header("Lütfen Aşağıdaki Verileri Girin")
# Kullanıcıdan ürün verilerini alıyoruz
products = ['PE Mavi (A)', 'Bagger Tüp (B)', 'Çatı Şiltesi (C)', 'Beyaz Genel Şilte (D)',
'Beyaz Genel Şilte (İhracat) (E)', 'Genel Levha (F)', 'PE Torba (G)',
'Torb Baskılı (H)', 'PE Poşet (I)', 'PP Torba Baskılı (J)', 'PP Torba 156x350 (K)']
# Tarih ve Stok Miktarları
product_data = {}
for product in products:
product_data[product] = {
'Giriş': st.number_input(f'{product} - Giriş', min_value=0, step=1),
'Sayım': st.number_input(f'{product} - Sayım', min_value=0, step=1),
'Tüketim': st.number_input(f'{product} - Tüketim', min_value=0, step=1)
}
# Veriyi DataFrame'e dönüştür
df = pd.DataFrame(product_data).T
# Veriyi göster
st.subheader('Veri Görünümü')
st.write(df)
# Model eğitimi ve tahmin
st.header("Stok Tüketimi Tahmini")
# Basit bir regresyon modelini kullanarak tahmin yapalım
model = LinearRegression()
# X: Giriş, Sayım, Tüketim (önceki veri ile)
# Y: Tüketim
X = df[['Giriş', 'Sayım']]
y = df['Tüketim']
# Modeli eğit
model.fit(X, y)
# Tahmin yap
df['Tahmin Tüketimi'] = model.predict(X)
# Tahmin sonuçlarını göster
st.subheader('Tahmin Edilen Tüketimler')
st.write(df[['Giriş', 'Sayım', 'Tüketim', 'Tahmin Tüketimi']])
# Grafik
st.subheader('Tüketim Tahminleri Grafiği')
fig, ax = plt.subplots()
ax.plot(df.index, df['Tüketim'], label='Gerçek Tüketim', marker='o')
ax.plot(df.index, df['Tahmin Tüketimi'], label='Tahmin Edilen Tüketim', marker='x')
ax.set_title('Gerçek ve Tahmin Edilen Tüketimler')
ax.set_xlabel('Ürünler')
ax.set_ylabel('Tüketim Miktarı')
ax.legend()
st.pyplot(fig)