Spaces:
Build error
Build error
| import streamlit as st | |
| import joblib | |
| import pandas as pd | |
| # Modeli yükle | |
| model_filename = 'random_forest_model.joblib' | |
| model = joblib.load(model_filename) | |
| # Kategorik verileri manuel olarak sayılara dönüştüren bir fonksiyon | |
| def encode_family(family): | |
| family_mapping = {'family1': 0, 'family2': 1, 'family3': 2} | |
| return family_mapping.get(family, -1) # -1, geçersiz kategori | |
| def encode_holiday_or_weekday(holiday_or_weekday): | |
| holiday_mapping = {'weekday': 0, 'holiday': 1} | |
| return holiday_mapping.get(holiday_or_weekday, -1) # -1, geçersiz kategori | |
| # Tahmin fonksiyonu | |
| def predict(input_data): | |
| input_df = pd.DataFrame(input_data, index=[0]) | |
| # Kategorik verileri manuel olarak dönüştür | |
| input_df['family'] = input_df['family'].apply(encode_family) | |
| input_df['holiday_or_weekday'] = input_df['holiday_or_weekday'].apply(encode_holiday_or_weekday) | |
| # Modelle tahmin yap | |
| prediction = model.predict(input_df) | |
| return prediction[0] | |
| # Streamlit UI | |
| st.title("Sales Prediction App") | |
| st.write("Enter the input features:") | |
| # Girdi alanları | |
| store_nbr = st.number_input('Store Number:', min_value=1) | |
| family = st.selectbox('Family:', ['family1', 'family2', 'family3']) | |
| date_conv = st.number_input('Date (YYYYMMDD):') | |
| dcoilwtico = st.number_input('Oil Price (dcoilwtico):') | |
| day_week = st.number_input('Day of Week (0=Monday, 6=Sunday):', min_value=0, max_value=6) | |
| holiday_or_weekday = st.selectbox('Holiday or Weekday:', ['weekday', 'holiday']) | |
| # Girdi verilerini hazırla | |
| input_data = { | |
| 'id': 0, | |
| 'store_nbr': store_nbr, | |
| 'family': family, | |
| 'date_conv': date_conv, | |
| 'dcoilwtico': dcoilwtico, | |
| 'day_week': day_week, | |
| 'holiday_or_weekday': holiday_or_weekday, | |
| } | |
| if st.button('Predict'): | |
| prediction = predict(input_data) | |
| st.write(f'Predicted sales: {prediction:.2f}') | |