Introduction à la data-science et à ses outils


Master, Paris Est MLV

@comeetie

Classification supervisé,


Apprendre à étiqueter

Master, Paris Est-MLV

@comeetie

Classification supervisé ?

Données d'apprentissage : $$\{(\mathbf{x}_1,y_1),...,(\mathbf{x}_N,y_N)\}, \mathbf{x_i} \in \mathcal{R}^p,\,y_i \in \{G_1,...,G_K\}$$

Objectif :

Trouver une fonction $f$ : $f(x) \sim y$ pour prédire l'appartenance à l'un des K groupes d'une nouvelles données non étiquetée.
Exemple : prédire si email est un spam a partir de son contenu et des meta-donnée

Classification supervisé ?

Données d'apprentissage : $$\{(\mathbf{x}_1,y_1),...,(\mathbf{x}_N,y_N)\}, \mathbf{x_i} \in \mathcal{R}^p,\,y_i \in \mathcal{R}$$

Objectif :

Trouver une fonction $f$ : $f(x) \sim y$ pour prédire la valeur de $y\in\mathcal{R}$
Exemple : prédire la consomation électrique à partir de données météo

Régression

Classification

Classification, utilisation en prédiction

Classification, comment évaluer f

Matrice de confusion

$$C_{kl}\, =\, nombre\, de\, points :\, y_i=c_k\, et\, \hat{f}(\mathbf{x}_i)=c_l$$

Classification supervisé

Comment évaluer f, Erreur empirique

$$\hat{f}=\arg\min_f\sum_{i=1}^{N}1_{f(x_i)\neq y_i}$$ Minimisation de l'erreur empirique. Somme des éléments non diagonaux de la matrice de confusion

Classification supervisé

Comment évaluer f, précision et rappel

Classification supervisé

Comment évalué f, précision et rappel

Classification supervisé

Comment évalué f, précision et rappel

fscore : moyenne harmonique de précision / rappel

Classification supervisé

Ensemble d'apprentissage / Ensemble de test

$f(x)=f(x,\theta)$ peut être plus ou moins compliquée, avoir plus ou moins de degré de liberté. La complexité de f sera souvent contrôlée à l'aide d'hyper-paramètres qu'il faudra déterminer

Classification supervisé

Ensemble d'apprentissage / Ensemble de test

$f(x)=f(x,\theta)$ peut être plus ou moins compliquée, avoir plus ou moins de degré de liberté. ! a ne pas apprendre par coeur les données d'apprentissage

Classification supervisé

Ensemble d'apprentissage / Ensemble de test

Validation croisée:

Quelques classifieurs

K plus proche voisins

K plus proche voisins

Pour prédire la classe d'un nouveau points $\mathbf{x}$:

Remarques

Regression logistique

Regression logistique

Modèle statistique : $$P(y=c_k|\mathbf{x})=\frac{exp(\beta_k^{t}\mathbf{x})}{\sum_{h=1}^{K}exp(\beta_h^{t}\mathbf{x})}$$

Séraratteur à

Vaste

Marge

Support

Vector

Machine

S

V

M

SVM

Recherche de la frontière de décision optimale

cas séparable

SVM

Recherche de la frontière de décision optimale

cas séparable

SVM

Recherche de la frontière de décision optimale

cas séparable

SVM

Recherche de la frontière de décision optimale

cas séparable

SVM

Recherche de la frontière de décision optimale

cas séparable en prenant $y_i\in\{-1,1\}$ = cas binaire $$\hat{w},\hat{b} = \arg\min_{w}||w||$$ avec $y_i(w^t\mathbf{w}+b)-1>0,\,\forall i \in\{1,...,N\}$

SVM

Recherche de la frontière de décision optimale

cas non séparable

SVM

Recherche de la frontière de décision optimale

cas non séparable $$\hat{w},\hat{b} = \arg\min_{w}||w||+C\sum_{i=1}^{N}max(0,1-y_i(w^t\mathbf{w}+b))$$

SVM

Remarques

SVM

Kernel = noyau

Arbre

de

Décision

Arbre de décision

Arbre de décision

Random forest

Random forest

Classification supervisée en python


Scikit Learn (Classification)

Exemple, Reconnaitre un vigneron à la composition de son vin :



! vous devez télécharger les données (ici) pour pouvoir utiliser le notebook

Classification supervisée en python


Scikit Learn (Classification)

TP, reconnaitre le type de cuisine d'une recette à partir de sa liste d'ingrédients :



! vous devez télécharger les données (ici) pour pouvoir utiliser le notebook