Aliou12 commited on
Commit
91a67a4
·
verified ·
1 Parent(s): fe09aa7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -9
app.py CHANGED
@@ -21,6 +21,11 @@ with open("lg.pkl", "rb") as f:
21
  # Charger le dataframe (assurez-vous de mettre le bon chemin vers votre fichier)
22
  df_scaled = pd.read_csv("data.csv") # Remplacez par le chemin réel du fichier
23
 
 
 
 
 
 
24
  # Fonction de prédiction du diabète
25
  def predict_diabetes(pregnancies, glucose, blood_pressure, skin_thickness, insulin, bmi, dpf, age):
26
  input_data = np.array([[pregnancies, glucose, blood_pressure, skin_thickness, insulin, bmi, dpf, age]])
@@ -29,16 +34,11 @@ def predict_diabetes(pregnancies, glucose, blood_pressure, skin_thickness, insul
29
 
30
  # Fonction pour afficher les clusters
31
  def plot_clusters(selected_cluster):
32
- # Appliquer PCA pour transformer les données en 2D
33
- selected_data = pca_model.transform(df_scaled)
34
- selected_data = pd.DataFrame(selected_data, columns=['PC1', 'PC2'])
35
-
36
- # Prédire les clusters avec le modèle KMeans
37
- selected_data['Cluster'] = model_cluster.predict(df_scaled)
38
-
39
  # Filtrer par le cluster sélectionné (si "Tous" n'est pas choisi)
40
  if selected_cluster != "Tous":
41
- selected_data = selected_data[selected_data['Cluster'] == int(selected_cluster)]
 
 
42
 
43
  if selected_data.empty:
44
  return px.scatter(title="Aucun point à afficher")
@@ -80,7 +80,11 @@ with gr.Blocks() as app:
80
 
81
  # **Section Clustering**
82
  gr.Markdown("### Visualisation des Clusters des Réactions en Ligne")
83
- cluster_selector = gr.Dropdown(["Tous"] + [str(i) for i in range(len(selected_data['Cluster'].unique()))],
 
 
 
 
84
  label="Sélectionner un cluster")
85
  cluster_plot = gr.Plot()
86
 
 
21
  # Charger le dataframe (assurez-vous de mettre le bon chemin vers votre fichier)
22
  df_scaled = pd.read_csv("data.csv") # Remplacez par le chemin réel du fichier
23
 
24
+ # Appliquer PCA pour transformer les données en 2D et prédire les clusters
25
+ pca_result = pca_model.transform(df_scaled)
26
+ pca_df = pd.DataFrame(pca_result, columns=['PC1', 'PC2'])
27
+ pca_df['Cluster'] = model_cluster.predict(df_scaled)
28
+
29
  # Fonction de prédiction du diabète
30
  def predict_diabetes(pregnancies, glucose, blood_pressure, skin_thickness, insulin, bmi, dpf, age):
31
  input_data = np.array([[pregnancies, glucose, blood_pressure, skin_thickness, insulin, bmi, dpf, age]])
 
34
 
35
  # Fonction pour afficher les clusters
36
  def plot_clusters(selected_cluster):
 
 
 
 
 
 
 
37
  # Filtrer par le cluster sélectionné (si "Tous" n'est pas choisi)
38
  if selected_cluster != "Tous":
39
+ selected_data = pca_df[pca_df['Cluster'] == int(selected_cluster)]
40
+ else:
41
+ selected_data = pca_df
42
 
43
  if selected_data.empty:
44
  return px.scatter(title="Aucun point à afficher")
 
80
 
81
  # **Section Clustering**
82
  gr.Markdown("### Visualisation des Clusters des Réactions en Ligne")
83
+
84
+ # Calculate unique clusters after PCA and prediction
85
+ unique_clusters = pca_df['Cluster'].unique()
86
+
87
+ cluster_selector = gr.Dropdown(["Tous"] + [str(i) for i in unique_clusters],
88
  label="Sélectionner un cluster")
89
  cluster_plot = gr.Plot()
90