GMARTINEZMILLA commited on
Commit
0cedfeb
·
1 Parent(s): 57e8206

bugfix: added import lgbm

Browse files
Files changed (1) hide show
  1. app.py +5 -27
app.py CHANGED
@@ -139,37 +139,16 @@ elif page == "Customer Analysis":
139
  model_path = f'models/modelo_cluster_{cluster}.txt'
140
  gbm = lgb.Booster(model_file=model_path)
141
  st.write(f"Loaded model for cluster {cluster}")
142
-
143
 
144
  # Load X_predict for that cluster and extract customer-specific data
145
  X_predict_cluster = pd.read_csv(f'predicts/X_predict_cluster_{cluster}.csv')
146
 
147
- # Debugging information
148
- st.write(f"Shape of X_predict_cluster: {X_predict_cluster.shape}")
149
- st.write("First few rows of X_predict_cluster:")
150
- st.write(X_predict_cluster.head())
151
- st.write("Unique cliente_id values in X_predict_cluster:")
152
- st.write(X_predict_cluster['cliente_id'].unique())
153
-
154
- st.write(f"Type of customer_code: {type(customer_code)}")
155
- st.write(f"Value of customer_code: {customer_code}")
156
-
157
- X_cliente = X_predict_cluster[X_predict_cluster['cliente_id'] == customer_code]
158
- st.write(f"Shape of X_cliente after filtering: {X_cliente.shape}")
159
-
160
- # Additional checks if X_cliente is empty
161
- if X_cliente.empty:
162
- X_cliente_str = X_predict_cluster[X_predict_cluster['cliente_id'].astype(str) == str(customer_code)]
163
- X_cliente_int = X_predict_cluster[X_predict_cluster['cliente_id'].astype(int) == int(customer_code)]
164
- st.write(f"Shape of X_cliente_str: {X_cliente_str.shape}")
165
- st.write(f"Shape of X_cliente_int: {X_cliente_int.shape}")
166
-
167
- st.write("Data types in X_predict_cluster:")
168
- st.write(X_predict_cluster.dtypes)
169
 
170
  if not X_cliente.empty:
171
  # Make Prediction for the selected customer
172
- y_pred = gbm.predict(X_cliente.drop(columns=['cliente_id']), num_iteration=gbm.best_iteration)
173
  st.write(f"Predicted sales for Customer {customer_code}: {y_pred.sum():.2f}")
174
 
175
  # Merge with actual data from df_agg_2024
@@ -203,7 +182,7 @@ elif page == "Customer Analysis":
203
  else:
204
  st.warning(f"No actual sales data found for customer {customer_code} in df_agg_2024.")
205
 
206
- # **Show the radar chart**
207
  all_manufacturers = customer_data.iloc[:, 1:].T # Exclude CLIENTE column
208
  all_manufacturers.index = all_manufacturers.index.astype(str)
209
 
@@ -246,7 +225,7 @@ elif page == "Customer Analysis":
246
  else:
247
  st.warning("No data available to create the radar chart.")
248
 
249
- # **Show sales over the years graph**
250
  sales_columns = ['VENTA_2021', 'VENTA_2022', 'VENTA_2023']
251
  if all(col in ventas_clientes.columns for col in sales_columns):
252
  years = ['2021', '2022', '2023']
@@ -264,7 +243,6 @@ elif page == "Customer Analysis":
264
  else:
265
  st.warning("Please select a customer.")
266
 
267
-
268
  # Customer Recommendations Page
269
  elif page == "Articles Recommendations":
270
  st.title("Articles Recommendations")
 
139
  model_path = f'models/modelo_cluster_{cluster}.txt'
140
  gbm = lgb.Booster(model_file=model_path)
141
  st.write(f"Loaded model for cluster {cluster}")
 
142
 
143
  # Load X_predict for that cluster and extract customer-specific data
144
  X_predict_cluster = pd.read_csv(f'predicts/X_predict_cluster_{cluster}.csv')
145
 
146
+ # Filter for the specific customer and drop the 'cliente_id' column
147
+ X_cliente = X_predict_cluster[X_predict_cluster['cliente_id'] == customer_code].drop(columns=['cliente_id'])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
 
149
  if not X_cliente.empty:
150
  # Make Prediction for the selected customer
151
+ y_pred = gbm.predict(X_cliente, num_iteration=gbm.best_iteration)
152
  st.write(f"Predicted sales for Customer {customer_code}: {y_pred.sum():.2f}")
153
 
154
  # Merge with actual data from df_agg_2024
 
182
  else:
183
  st.warning(f"No actual sales data found for customer {customer_code} in df_agg_2024.")
184
 
185
+ # Show the radar chart
186
  all_manufacturers = customer_data.iloc[:, 1:].T # Exclude CLIENTE column
187
  all_manufacturers.index = all_manufacturers.index.astype(str)
188
 
 
225
  else:
226
  st.warning("No data available to create the radar chart.")
227
 
228
+ # Show sales over the years graph
229
  sales_columns = ['VENTA_2021', 'VENTA_2022', 'VENTA_2023']
230
  if all(col in ventas_clientes.columns for col in sales_columns):
231
  years = ['2021', '2022', '2023']
 
243
  else:
244
  st.warning("Please select a customer.")
245
 
 
246
  # Customer Recommendations Page
247
  elif page == "Articles Recommendations":
248
  st.title("Articles Recommendations")