Skip to content

Importation, préparation des données et imputation

Importation et analyse des données

- [x] Créer `load_data` dans `src/data_processing/load_data.py` pour charger `house_prices.csv`.

- [x] Retourner un `pd.DataFrame` + métadonnées de chargement.

- [x] Importer et tester dans le notebook.

- [x] Explorer : dtypes, `describe()`, aperçu.

- [x] Visualiser les valeurs manquantes (heatmap).

Préparation des données (colonnes + NA + traçabilité)

- [x] Normaliser les noms de colonnes (`normalize_column_names`).

- [x] Identifier les valeurs manquantes par colonne.

- [x] Supprimer lignes cibles manquantes, colonnes à forte proportion de NA, colonnes problématiques.

- [x] Conserver un **log/métadonnées** des transformations.

- [x] Retourner `df_cleaned` + `cleaningmetadata`.

Imputation

- [x] Implémenter `split_data` dans `src/data_science/data.py`.

- [x] Mélanger aléatoirement avec graine (SEED).

- [x] Découper en `X_train, y_train, X_test, y_test`.

- [x] Implémenter `build_preprocessor` dans `src/data_processing/preprocess.py` (scikit-learn) :

- `SimpleImputer(strategy="median")` pour numériques

- `SimpleImputer(strategy="most_frequent")` pour catégorielles

- [x] Implémenter `prepare_data` (dans `src/data_science/data.py`) qui :

- construit le préprocesseur avec `build_preprocessor(X_train)`

- **fit_transform** sur **X_train**, **transform** sur **X_test**

- **retourne** `X_train_clean`, `y_train`, `X_test_clean`, `y_test`, `preprocessor`, `num_cols`, `cat_cols`

- [x] Tester dans le notebook et afficher vérifs NA (avec `DataFrame.isnull()` après re-wrap).

- [x] Mettre à jour le dataset nettoyé et sauvegarder en `data/interim/`.

Edited by MESSAOUDI Adel