Spaces:
Sleeping
Sleeping
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) | |