Professional Documents
Culture Documents
Examen Data Mining Janvier 2015 Correcti
Examen Data Mining Janvier 2015 Correcti
I Janvier 2015
Exercice 1
Compléter de code R suivant
> data(bodyfat,package="TH.data")
> dim(bodyfat)
[1] 71 10
> colnames(bodyfat)
ind
1 2
56 15
[1] 56 10
[1] 15 10
> library(rpart)
> myFormula <- DEXfat ~ age+waistcirc+hipcirc+elbowbreadth+kneebreadth
> bodyfat_rpart <- rpart(myFormula, data=bodyfat.train,control=rpart.control(minsplit=10))
> print(bodyfat_rpart)
n= 56
waistcirc< 88.4
|
> y=bodyfat$DEXfat[ind==1]
> ybar=mean(y)
> ybar
[1] 30.94589
> sum((y-ybar)^2)
[1] 7265.029
> bodyfat.test[1:2,]
51 60
34.37556 16.19222
Exercice 2
> library(randomForest)
> rf<-randomForest(Species~ .,data=iris,mtry = 3,ntree = 50)
> table(predict(rf))
> table(predict(rf),iris$Species)
> print(rf)
Call:
randomForest(formula = Species ~ ., data = iris, mtry = 3, ntree = 50)
Type of random forest: classification
Number of trees: 50
No. of variables tried at each split: 3
> importance(rf)
MeanDecreaseGini
Sepal.Length 1.292915
Sepal.Width 1.380635
Petal.Length 49.984232
Petal.Width 46.797418
3
Exercice 3
> setwd("~/Documents/Examens14_15/Exam_Principal_dm_1415/CodeR_Exam_dm/")
> txt <- readLines("constitution_tunisienne_Janv2014.txt",
+ encoding = 'utf-8')
> length(txt)
[1] 582
> i=grep('Article',txt)
> txt[i][1:6 ]
> length(i)
[1] 149
> txt=txt[-i]
> library(tm)
> for(i in 1:length(txt))
+ txt[i]=tolower(txt[i])
> for(i in 1:length(txt))
+ txt[i]=removeWords(txt[i],c("l'","d'","s'","jusqu'","qu'","c'","n'","m'"))
> for(i in 1:length(txt))
+ txt[i]=removeWords(txt[i],words = stopwords('french'))
> txt=removePunctuation(txt)
> txt=removeNumbers(txt)
> corpus <- Corpus(VectorSource(txt))
> tdm <- TermDocumentMatrix(corpus,control = list(removePunctuation = TRUE,
+ stopwords = TRUE,
+ minWordLength=3))
> tdm
> dim(tdm)
> m=as.matrix(tdm)
> dim(m)
> sum((m!=0))
[1] 5861
> sum((m==0))
[1] 702960
> max(sapply(rownames(tdm),nchar))
[1] 22
4
> sort(sapply(rownames(tdm),nchar),d=T)[1:10]
infraconstitutionnelle inconstitutionnalitO instrumentalisation
22 20 19
constitutionnalitO constitutionnelles exceptionnellement
18 18 18
constitutionnelle environnementales inconstitutionnel
17 17 17
dOcentralisation
16
> sort(rowSums(m),d=T)[1:20]
assemblOe prOsident loi peuple rOpublique
137 121 108 102 101
reprOsentants gouvernement Otat membres cour
89 83 64 56 53
peut cas chef droit Řtre
52 49 44 44 43
dispositions conformOment conseil dOlai commission
38 36 35 35 32
> sort(rowSums((m!=0)),d=T)[1:20]
assemblOe loi prOsident peuple
102 93 93 92
rOpublique reprOsentants gouvernement Otat
87 82 62 57
peut membres cas chef
47 43 42 42
cour droit Řtre conformOment
41 37 37 36
dispositions conseil constitutionnelle dOlai
36 29 28 28
> grep("dOmocratie",rownames(m))
[1] 416
> findAssocs(tdm,'dOmocratie',.71)
$dOmocratie
numeric(0)
>
>
1. Compléter le coder R
2. Quel est la longueur des trois mots le plus long utilisée dans ce texte ? Indiquer lesquels ?
Réponse : Infraconstitutionnelle (22), inconstitutionnalité (20), intrumentalisation (19).
3. Combien de fois le mot ”démocratie” a été utilisé dans la constitution tunisien? Quels sont les mots
les plus associés à ce terme?
Réponse : 1 fois, les mots associés à ”démocratie” sont adoptent, civil, faciliter.
4. Quel est le terme le plus fréquent dans la constitution ?
Réponse : Assemblée.
5. Combien d’articles dans la constitution tunisienne ?
Réponse : 149
6. Indiquer les étapes suivis (traitement du texte) pour arriver à l’objet Corpus.
Réponse : 1/ transformer tous les mots en miniscule, 2/ supprimer les mots l’. d’..., 3/ supprimer les
”stopwords” en francais : le, la, les...etc.
5
Exercice 4
Considère le tableau de contingence dataCirc2 Circonscription x candidats des résultats des dernières
éléctions présidentielles en Tunisie. Les colonnes représentent sont le nombre de votes obtenus pour chaque
candidat. Les deux dernières colonnes : BCE.2T et Marzouki.2T sont le nombre de votes au 2nd tour. On a
effectué une analyse de correspondances pour comprendre la correspondances entre les votes des candidats,
entre régions x candidats et reports des votes du 2nd tour. On trace la représentation simultanée candidats
x région à patir du le code R suivant :
> load("~/Documents/Examens14_15/Exam_Principal_dm_1415/CodeR_Exam_dm/tElec.RData")
> library(FactoMineR)
> ac1=CA(dataCirc2,ncp = 3,col.sup = 28:29,graph = F)
> rownames(ac1$col$coord)=c(as.character(1:6),"BCE.1T","Riahi",as.character(9:23),"Marzouki.1T","25"
> ac1$col$coord[c(7,8,24,26,27),1]
BCE.1T Riahi Marzouki.1T H.Hamdi Hammami
-0.12440559 -0.19467101 -0.11396980 1.76971198 -0.06684761
> ac1$col$coord[c(7,8,24,26,27),2]
BCE.1T Riahi Marzouki.1T H.Hamdi Hammami
0.30792567 0.04850019 -0.44914042 0.01935463 0.21501139
> ac1$col.sup$coord[,1]
BCE.y Marzouki.y
-0.03368558 -0.03244745
> ac1$col.sup$coord[,2]
BCE.y Marzouki.y
0.2929097 -0.4112017
2
4
1
BCE.1T
10
BCE.2T
Hammami
13
321
141
Riahi 12 25
218 H.Hamdi
20
0
Axe2
19
16 23 5 6
11
2215 9
17
−1
Marzouki.2T
Marzouki.1T
−2
−1 0 1 2 3 4 5 6
Axe1
6
1. Quelle méthode statistique a été utilisée pour cette analyse ? Indiquer quels package R et quelles sont
les commandes R utilis.
Réponse : On utilisé une analyse des correspondances appliquée sur le tableu de contingences circon-
scriotions x candidats + deux colonnes supplémentaires BCE.2T et Marzouki.2T. Le package R utilisé
est FactoMineR avec la commande CA.
2. Placez le nom des candidats manquants (du 1er et 2nd Tour) sur le graphique.
3. Comment intrétez-vous la position des deux candidats BCE et Marzouki (1er et 2nd Tour) sur le
graphique ? Comment intrétez-vous la position du candidat H. Hamdi sur le graphique ?
Réponse :
• On remarque 1/ qu’il un changement faible entre les positions de BCE et Marzouki (1er et 2nd
Tour) : il n’y a pas eu de changement de ”couleurs” entre le 1er et le 2nd tour des gouvernorats
lors de ces éléctions. 2/ Qu’il y a une opposotion sur le 2nd Axe entre les candidats BCE et
Marzouki ce qui veut dire clairement qu’il y a des zones en majorité claire en faveur de l’un ou
de l’autre candidat.
• La majorité des votes du candidat H. Hamdi proviennent de la région SBZ.