AI28: Démarche dans un projet de ML

1 : Description du dataset

Quelles sont mes colonnes ? Que veut-elle dire ?

Ai-je bcp de valeurs manquantes ?

  1. Analyse exploratoire

Analyse générale

Dimensions dataset

Description des variables : nom, type, représentation

Checker la présence de duplicat

Checker le taux de valeurs manquantes par variable

Description de la variable cible

type de la variable

Numérique

distribution

Vérification des conditions pour l'algorithme qu'on souhaite utilsier (ex : Normalité pour une régression)

Catégorielle

Répartition

Equilibre des données

Analyse univariée

Vérifier que les types de variable dans le dataframe sont les bons, les changer si besoin

Variable catégorielle

Quel est le domaine de valeurs de la variable ? Ai-je bcp de valeurs ? peu de valeur ? est ce binaire ?

Regarder l'équilibre des données

boxplot

countplot

Variable numérique

Tracer la distribution

Regarder les corrélations entre les variables + Corrélation avec la variable cible

Analyse bivariée

Relation entre certaines variables

relation numérique/numérique

relation catégoriel/numérique

relation catégoriel/catégoriel

Valeurs manquantes ?

outliers ? Si oui cb ? est ce que j'ai des outliers vraiment conséquent ?

  1. Pre processing

Feature selection

traitement des outliers

on les garde car ils ont une signification business, ou ne sont pas trop nombreux

supprimer

Traitement des valeurs manquantes

Suppression si vraimnet trop de valeurs sont manquantes ( > 90% par exemple)

Imputation

variable numérique

Mediane

Prediction par le modele

Constante (pas terrible)

Variable catégorielle

Prédiction

Mode

Nouvelle valeur

Traitement du déséquilibre des données

Sur échantillonnage

Sous échantillonage

Normalisation des données

RobustScaler

Standard Scaler

MInMax Scaler

transformation pour la variable cible (ex log1p)

Encodage des données

One Hot : créer une feature par valeur

Label Encoder : Attention à la signification des chiffres

Séparation des données

Création de la matrice de design et de la cible

split des données en données de train et données de test

  1. Modélisation prédictive

Choix de l'algorithme: type de probleme

Si Y est une variable numérique

Régression linéaire

Régression linéaire pénalisée

Ridge

Lasso

Elasticnet

Si Y est une variable catégorielle

Classification

Suppression des colonnes inutiles

Suppression de colonnes pour réduire l'overfitting, améliorer les performances

Regression logistique

Regression logistique pénalisée

Elasticnet

Ridge

Lasso

Entrainement du modele

Criètres de performance

Choix selon le type de Y

Y numérique

mean absolute error

mean squared error

Y catégoriel

Précision

Rappel

f1

matrice de confusion

Optimisation des meta parametres par un grid search CV

Cross validation

Peaufiner le modèle

Optimiser les meta paramètres

Affiner le traitement des données

Tester plusieurs algorihmes

Courbes ROC