14 Comparaison en classification supervisée

Exercice 1 (Questions de cours) C, D, A, B.

Exercice 2 (Règle de Bayes)  

    1. 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)\).
    2. 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} \]
    3. 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\).
    4. 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).\]
  1. 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\).
    L’erreur de Bayes vaut \[ \begin{aligned} L^\star=\mathbf P(g^\star(X)\neq Y& |X\leq 0)\mathbf P(X\leq 0) \\ & +\mathbf P(g^\star(X)\neq Y|X> 0)\mathbf P(X>0). \end{aligned} \] Or \[ \mathbf P(g^\star(X)\neq Y|X\leq 0)=\mathbf P(Y\neq 0|X\leq 0)=\frac{1}{5} \] et \[\mathbf P(g^\star(X)\neq Y|X> 0)=\mathbf P(Y\neq 1|X> 0)=\frac{1}{10}.\] On obtient \[L^\star=\frac{1}{5}\,\frac{1}{2}+\frac{1}{10}\,\frac{1}{2}=\frac{3}{20}.\]

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)  

  1. 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)}. \]

  2. On importe les données

    df <- read.csv("../donnees/logit_ex6.csv")
    set.seed(1234)
    ind_app <- sample(nrow(df),300)
    dapp <- df[ind_app,]
    dtest <- df[-ind_app,]
    logit <- glm(Y~.,data=dapp,family="binomial")
    score <- predict(logit,newdata=dtest,type="response")
    D0 <- which(dtest$Y==0)
    D1 <- which(dtest$Y==1)
    score0 <- score[D0]
    score1 <- score[D1]
    score.01 <- expand.grid(S0=score0,S1=score1)
    mean(score.01$S1>score.01$S0)
    [1] 0.7385817
    pROC::roc(dtest$Y,score)
    
    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)