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)