14 Comparaison en classification supervisée
Exercice 1 (Questions de cours) C, D, A, B.
Exercice 2 (Règle de Bayes)
- La règle de Bayes est définie par \[ g^\star(x)=\left\{ \begin{array}{ll} 1& \text{si }\mathbf P(Y=1|X=x)\geq 0.5 \\ 0& \text{sinon.} \end{array}\right. \] L’erreur de Bayes est définie par \(L^\star=\mathbf P(g^\star(X)\neq Y)\).
- On a \[ \begin{aligned} \mathbf P(g(X)\neq Y|X=x) & = 1-\Big(\mathbf P(g(X)=Y,g(X)=1|X=x) \\ & \hspace{2cm}+\mathbf P(g(X)=Y,g(X)=0|X=x)\Big) \\ & = 1-\Big(\mathbf 1_{g(x)=1}\mathbf P(Y=1|X=x) \\ & \hspace{2cm}+\mathbf 1_{g(x)=0}\mathbf P(Y=0|X=x)\Big) \\ & = 1-(\mathbf 1_{g(x)=1}\eta(x)+\mathbf 1_{g(x)=0}(1-\eta(x))). \end{aligned} \]
- On déduit \[ \begin{aligned} \mathbf P(& g(X)\neq Y|X=x)-\mathbf P(g^\star(X)\neq Y|X=x) \\ & = \eta(x)\left(\mathbf 1_{g^\star(x)=1}-\mathbf 1_{g(x)=1}\right)+(1-\eta(x))\left(\mathbf 1_{g^\star(x)=0}-\mathbf 1_{g(x)=0}\right) \\ & = (2\eta(x)-1) \left(\mathbf 1_{g^\star(x)=1}-\mathbf 1_{g(x)=1}\right) \\ & \geq 0 \end{aligned} \] par définition de \(g^\star\).
- On conclut en intégrant par la loi de \(X\) que \[\mathbf P(g(X)\neq Y)\geq \mathbf P(g^\star(X)\neq Y).\]
- Pour la règle de Bayes, on a
- si \(x\leq 0\), on a \(\mathbf P(Y=1|X=x)=\mathbf P(U\leq 2)=\frac{1}{5}\) \(\Longrightarrow\) \(g^\star(x)=0\).
- si \(x> 0\), on a \(\mathbf P(Y=1|X=x)=\mathbf P(U> 2)=\frac{9}{10}\) \(\Longrightarrow\) \(g^\star(x)=1\).
Exercice 3 (Fonctions R)
Exercice 4 (Score aléatoire) Il suffit d’utiliser l’indépendance entre \(S(X)\) et \(Y\) : \[ \begin{aligned} x(s)= & \mathbf P(S(X)> s|Y=-1)=\mathbf P(S(X)> s)=\mathbf P(S(X)\geq s) \\ =& \mathbf P(S(X)\geq s|Y=1)=y(s), \end{aligned} \]
Exercice 5 (Score parfait et courbe ROC)
Exercice 6 (Score parfait et courbe lift)
Exercice 7 (Calculs de scores avec R)
On propose d’utiliser la version empirique de \[ AUC(S)=\mathbf P(S(X_1)\geq S(X_2)|(Y_1,Y_2)=(1,-1)), \] c’est-à-dire d’estimer l’AUC en calculant, parmi les paires qui vérifient \((Y_1,Y_2)=(1,-1)\), la proportion de paires qui vérifient \(S(X_1)\lt S(X_2)\). Si on note \[ \mathcal I=\{(i,j),y_i=1,y_j=0\}, \] alors l’estimateur s’écrit \[ \widehat{AUC}(S)=\frac{1}{|\mathcal I|}\sum_{(i,j)\in\mathcal I}\mathbf 1_{S(X_i)>S(S_j)}. \]
On importe les données
<- read.csv("../donnees/logit_ex6.csv") df
set.seed(1234) <- sample(nrow(df),300) ind_app <- df[ind_app,] dapp <- df[-ind_app,] dtest
<- glm(Y~.,data=dapp,family="binomial") logit
<- predict(logit,newdata=dtest,type="response") score
<- which(dtest$Y==0) D0 <- which(dtest$Y==1) D1 <- score[D0] score0 <- score[D1] score1 .01 <- expand.grid(S0=score0,S1=score1) scoremean(score.01$S1>score.01$S0)
[1] 0.7385817
::roc(dtest$Y,score) pROC
Call: roc.default(response = dtest$Y, predictor = score) Data: score in 104 controls (dtest$Y 0) < 96 cases (dtest$Y 1). Area under the curve: 0.7386
Exercice 8 (Validation croisée)