import streamlit as st import pandas as pd import joblib # Debug initial st.write("Démarrage de l'application sur Hugging Face...") # Chargement du modèle try: model = joblib.load("modele_prediction_hpp.pkl") st.success("Modèle chargé avec succès") except Exception as e: st.error(f"Erreur lors du chargement du modèle : {e}") st.stop() # Interface st.title("🩺 Application de Prédiction d'HPP sévère") uploaded_file = st.file_uploader( "Importer votre fichier CSV avec les variables nécessaires", type="csv" ) if uploaded_file is not None: st.write( f"Fichier uploadé : {uploaded_file.name} (taille : {uploaded_file.size} octets)" ) try: data = pd.read_csv(uploaded_file) st.success("CSV lu avec succès") st.write("### Données importées :") st.dataframe(data.head()) except Exception as e: st.error(f"Erreur lors de la lecture du CSV : {e}") st.stop() if st.button("Prédire"): st.write("Lancement des prédictions...") with st.spinner("Prédictions en cours..."): try: predictions = model.predict(data) prediction_probs = model.predict_proba(data)[:, 1] data["Prédiction"] = predictions data["Probabilité_HPP"] = prediction_probs st.write("### Résultats des Prédictions :") st.dataframe(data) csv = data.to_csv(index=False).encode("utf-8") st.download_button( label="Télécharger les résultats en CSV", data=csv, file_name="resultats_predictions.csv", mime="text/csv", ) except Exception as e: st.error(f"Erreur lors de la prédiction : {e}")