Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -152,17 +152,35 @@ if df is not None and X is not None:
|
|
| 152 |
st.warning("⚠️ Aucune variable disponible pour l'analyse. Veuillez ne pas tout exclure.")
|
| 153 |
st.stop()
|
| 154 |
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 159 |
|
| 160 |
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=TEST_SIZE, random_state=RANDOM_STATE)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 161 |
X_train_proc = preprocess.fit_transform(X_train)
|
| 162 |
|
| 163 |
# Vérification que les données transformées ne sont pas vides
|
| 164 |
if X_train_proc.shape[0] == 0 or X_train_proc.shape[1] == 0:
|
| 165 |
-
st.error("❌ Erreur : Les données transformées sont vides.
|
|
|
|
|
|
|
|
|
|
| 166 |
st.stop()
|
| 167 |
|
| 168 |
feature_names = preprocess.get_feature_names_out()
|
|
|
|
| 152 |
st.warning("⚠️ Aucune variable disponible pour l'analyse. Veuillez ne pas tout exclure.")
|
| 153 |
st.stop()
|
| 154 |
|
| 155 |
+
# Construction du préprocesseur seulement avec les colonnes qui existent
|
| 156 |
+
transformers = []
|
| 157 |
+
if num_cols:
|
| 158 |
+
transformers.append(("num", StandardScaler(), num_cols))
|
| 159 |
+
if cat_cols:
|
| 160 |
+
transformers.append(("cat", OneHotEncoder(drop="first", handle_unknown="ignore", sparse_output=False), cat_cols))
|
| 161 |
+
|
| 162 |
+
if not transformers:
|
| 163 |
+
st.warning("⚠️ Aucune colonne à traiter.")
|
| 164 |
+
st.stop()
|
| 165 |
+
|
| 166 |
+
preprocess = ColumnTransformer(transformers=transformers)
|
| 167 |
|
| 168 |
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=TEST_SIZE, random_state=RANDOM_STATE)
|
| 169 |
+
|
| 170 |
+
# Vérification qu'il y a assez de données pour le split
|
| 171 |
+
if len(X_train) == 0 or len(X_test) == 0:
|
| 172 |
+
st.error("❌ Pas assez de données pour créer les ensembles d'entraînement et de test.")
|
| 173 |
+
st.info(f"Données disponibles : {len(X)} lignes. Minimum requis : 2 lignes.")
|
| 174 |
+
st.stop()
|
| 175 |
+
|
| 176 |
X_train_proc = preprocess.fit_transform(X_train)
|
| 177 |
|
| 178 |
# Vérification que les données transformées ne sont pas vides
|
| 179 |
if X_train_proc.shape[0] == 0 or X_train_proc.shape[1] == 0:
|
| 180 |
+
st.error("❌ Erreur : Les données transformées sont vides.")
|
| 181 |
+
st.info(f"Shape après transformation : {X_train_proc.shape}")
|
| 182 |
+
st.info(f"Variables numériques : {num_cols}")
|
| 183 |
+
st.info(f"Variables catégorielles : {cat_cols}")
|
| 184 |
st.stop()
|
| 185 |
|
| 186 |
feature_names = preprocess.get_feature_names_out()
|