Esmaeilkiani commited on
Commit
5b25a21
1 Parent(s): c368924

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -8
app.py CHANGED
@@ -1,6 +1,5 @@
1
  import streamlit as st
2
  import pandas as pd
3
- import numpy as np
4
  import joblib
5
  from sklearn.linear_model import LinearRegression
6
  from sklearn.ensemble import RandomForestRegressor
@@ -10,13 +9,13 @@ from catboost import CatBoostRegressor
10
  from sklearn.model_selection import train_test_split
11
  from sklearn.metrics import mean_absolute_error
12
 
13
- # عنوان برنامه
14
  st.title("اداره زراعت و کنترل محصول")
15
 
16
- # انتخاب مدل
17
  model_choice = st.sidebar.selectbox("انتخاب مدل", ["Linear Regression", "Random Forest", "XGBoost", "LightGBM", "CatBoost"])
18
 
19
- # بارگذاری داده‌ها
20
  uploaded_file = st.sidebar.file_uploader("بارگذاری فایل داده‌ها", type=["csv", "xlsx"])
21
  if uploaded_file is not None:
22
  if uploaded_file.name.endswith('.csv'):
@@ -27,7 +26,7 @@ if uploaded_file is not None:
27
  st.write("پیش‌نمایش داده‌ها:")
28
  st.dataframe(data.head())
29
 
30
- # انتخاب ویژگی‌ها و برچسب
31
  features = st.sidebar.multiselect("انتخاب ویژگی‌ها", data.columns)
32
  target = st.sidebar.selectbox("انتخاب برچسب", data.columns)
33
 
@@ -55,7 +54,7 @@ if uploaded_file is not None:
55
 
56
  st.write(f"خطای مدل: {error}")
57
 
58
- # ذخیره مدل
59
  joblib.dump(model, 'model.pkl')
60
  st.success("مدل با موفقیت آموزش دیده و ذخیره شد.")
61
  else:
@@ -63,7 +62,7 @@ if uploaded_file is not None:
63
  else:
64
  st.warning("لطفاً یک فایل داده بارگذاری کنید.")
65
 
66
- # پیش‌بینی با مدل ذخیره شده
67
  st.header("پیش‌بینی بازده عملکرد")
68
 
69
  uploaded_model = st.file_uploader("بارگذاری مدل ذخیره شده", type=["pkl"])
@@ -84,6 +83,15 @@ if uploaded_model is not None:
84
  st.write("پیش‌بینی‌ها:")
85
  st.write(predictions)
86
 
87
- download_link = st.download_button("دانلود پیش‌بینی‌ها", data=pd.DataFrame(predictions).to_csv(), file_name="predictions.csv", mime="text/csv")
 
 
 
 
 
 
 
 
 
88
  else:
89
  st.warning("لطفاً یک مدل ذخیره شده بارگذاری کنید.")
 
1
  import streamlit as st
2
  import pandas as pd
 
3
  import joblib
4
  from sklearn.linear_model import LinearRegression
5
  from sklearn.ensemble import RandomForestRegressor
 
9
  from sklearn.model_selection import train_test_split
10
  from sklearn.metrics import mean_absolute_error
11
 
12
+ # Title of the application
13
  st.title("اداره زراعت و کنترل محصول")
14
 
15
+ # Model selection
16
  model_choice = st.sidebar.selectbox("انتخاب مدل", ["Linear Regression", "Random Forest", "XGBoost", "LightGBM", "CatBoost"])
17
 
18
+ # Data upload
19
  uploaded_file = st.sidebar.file_uploader("بارگذاری فایل داده‌ها", type=["csv", "xlsx"])
20
  if uploaded_file is not None:
21
  if uploaded_file.name.endswith('.csv'):
 
26
  st.write("پیش‌نمایش داده‌ها:")
27
  st.dataframe(data.head())
28
 
29
+ # Feature and label selection
30
  features = st.sidebar.multiselect("انتخاب ویژگی‌ها", data.columns)
31
  target = st.sidebar.selectbox("انتخاب برچسب", data.columns)
32
 
 
54
 
55
  st.write(f"خطای مدل: {error}")
56
 
57
+ # Save model
58
  joblib.dump(model, 'model.pkl')
59
  st.success("مدل با موفقیت آموزش دیده و ذخیره شد.")
60
  else:
 
62
  else:
63
  st.warning("لطفاً یک فایل داده بارگذاری کنید.")
64
 
65
+ # Prediction with saved model
66
  st.header("پیش‌بینی بازده عملکرد")
67
 
68
  uploaded_model = st.file_uploader("بارگذاری مدل ذخیره شده", type=["pkl"])
 
83
  st.write("پیش‌بینی‌ها:")
84
  st.write(predictions)
85
 
86
+ # Generate a CSV for download
87
+ predictions_df = pd.DataFrame(predictions, columns=['Predictions'])
88
+ csv = predictions_df.to_csv(index=False).encode('utf-8')
89
+
90
+ st.download_button(
91
+ label="دانلود پیش‌بینی‌ها",
92
+ data=csv,
93
+ file_name='predictions.csv',
94
+ mime='text/csv',
95
+ )
96
  else:
97
  st.warning("لطفاً یک مدل ذخیره شده بارگذاری کنید.")