Spaces:
Build error
Build error
Update app.py
Browse files
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 =
|
|
|
|
|
|
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
|