Vous êtes sur la page 1sur 12

Data Mining

TP 02
PRETRAITEMENT DES DONNEES SUR R
Jamal Tikouk

E-mail : jamal.tikouk@etu.uae.ac.ma

ID/1

OBJECTIF DU TP
Ce TP a pour objectifs :

Le chargement des données sur R : Cette opération est une tâche primordiale dans un projet
statistique. Les données peuvent être de formats différents (xlsx, csv ...), on doit donc les
charger en exploitant les modules des packages dédiés à cette tâche (par exemple le
package « xlsx » traité dans ce TP).

Le prétraitement des données chargées sur R : Une fois les données sont chargées sur
l’environnement du travail, on doit faire un pré traitement sur ces données en supprimant
les données invariantes, en traitant les doublons, en traitant les données éparses, en
complétant les données manquantes...
I. Chargement des données :
1) Chargement des données sur un Dataframe :

2) Description statistique des variables explicatives via summary () et pairs () :

Page 2
Pour utiliser la fonction pairs(), toutes les variables de votre data frame doivent être numériques. Si votre
data frame contient des variables non numériques, vous pouvez les exclure du graphique en ne
sélectionnant que les colonnes numériques.

II. Les données invariantes :


1) Détection et suppression des données sur un Dataframe :

La variable "nationalite" contient la valeur "marocain" dans toutes ses lignes, ce qui la rend constante et
inutile pour l'analyse. Par conséquent, sa suppression ne devrait pas affecter les résultats de l'étude.

III. Traiter les doublons :


1) Suppression des doublons dans Dataframe en utilisant la fonction duplicated :
Lorsque la fonction duplicated() est appliquée, on remarque que les deux lignes identiques mentionnées ci-
dessus sont fusionnées en une seule. Autrement dit, la fonction permet d'identifier les doublons dans un
ensemble de données, en comparant les valeurs de chaque ligne à celles des autres lignes. Lorsqu'une ligne
est identique à une autre ligne dans l'ensemble de données, la fonction marque la ligne comme dupliquée
et la supprime de l'ensemble de données. Ainsi, la fonction duplicated() permet de nettoyer et de simplifier
un ensemble de données en éliminant les doublons.

Page 3
IV. Les données éparses :
1) Localisation des variables contenant plus de 40% des données manquantes :

Par observation, on remarque que les deux variables tension et fumeur contenant trop de valeurs
manques. Aussi on peut vérifier par lutilsation de la fonction is.na() renvoie un vecteur de valeurs logiques
de même longueur que l'objet d'entrée, avec une valeur TRUE pour chaque élément manquant et FALSE
pour chaque élément non manquant.

Discussion et traitement de ces données (supprimer, compléter...) :


Si les variables "tension" et "fumeur" contiennent un grand nombre de valeurs manquantes et qu'elles ne
sont pas considérées comme importantes pour notre étude, nous pouvons simplement les supprimer de
l'ensemble de données. Cependant, si ces variables sont jugées importantes pour notre étude, nous
pouvons les compléter avec une valeur moyenne ou médiane pour remplacer les valeurs manquantes. Dans
les cas où la décision de traitement des valeurs manquantes est très sensible, il est recommandé de
consulter des experts dans le domaine afin de prendre une décision éclairée et appropriée.

V. Les données manquantes :


1) Imputation :

Page 4
La première ligne de code définit une variable don.KNN qui utilise la fonction kNN pour effectuer une
classification des k-plus proches voisins sur un ensemble de données DF, en utilisant k=5 et en spécifiant
qu'il ne faut pas utiliser de variables imputées (c'est-à-dire imp_var = FALSE).

a) missForest

Page 5
pour éviter l’erreur on va appliquer « missForest « seulement sur les colonnes numérique pour cela on va
sélectionné seulement les colonnes numérique dans une nouvelle data Frame DF_numeric.

On remarque aussi que la fonction missForest a bien complé té les valeurs manquantes dans le
data frame DF, mais cette fois avec une précision remarquables.

Page 6
b) LOCF
na.locf() est une fonction de R utilisée pour remplir les valeurs manquantes (NA) avec la dernière
observation conservée. na.rm est un paramètre de la fonction qui détermine comment traiter les valeurs
manquantes. Si na.rm=TRUE, les valeurs manquantes seront supprimées avant de remplir les valeurs. Si

na.rm=FALSE, les valeurs manquantes seront conservées et remplies avec la dernière observation
conservée.

VI. Les données atypiques :


1) Méthodes de visualisation :
Détection des valeurs aberrantes univariées avec la fonction boxplot.stats().

Page 7
Voici ce que représente chaque statistique calculée par la fonction :

$stats : Il s'agit d'un vecteur de longueur cinq qui contient la valeur minimale, le quartile inférieur (25ème
percentile), la médiane (50ème percentile), le quartile supérieur (75ème percentile) et la valeur maximale
de l'ensemble de données.

$n : Il s'agit de la taille de l'échantillon (c'est-à-dire le nombre d'observations) dans l'ensemble de données.

$conf : Il s'agit d'un vecteur de longueur deux qui contient les limites inférieure et supérieure d'un
intervalle de confiance à 95 % pour la médiane.

$out : Il s'agit d'un vecteur de toutes les observations qui sont considérées comme des valeurs aberrantes
en fonction de la définition par défaut utilisée par la fonction.

Dans notre cas La fonction "boxplot.stats()" calcule un ensemble de statistiques qui sont utilisées pour
créer un diagramme en boîte et moustaches pour un ensemble de données donné. Dans ce cas, la
fonction est appliquée à la variable "âge" de le data frame "DF".

Page 8
Dans notre exemple, DF$tauxmax est une colonne de valeurs numériques dans le data frame DF. En
appelant boxplot.stats(DF$tauxmax), nous calculons les statistiques suivantes :

stats[1] : la valeur minimale de DF$tauxmax


stats[2] : le premier quartile (25ème percentile) de DF$tauxmax
stats[3] : la médiane (50ème percentile) de DF$tauxmax
stats[4] : le troisième quartile (75ème percentile) de DF$tauxmax
stats[5] : la valeur maximale de DF$tauxmax
stats[6] : les valeurs dans DF$tauxmax considérées comme des valeurs aberrantes (c'est-à-dire plus de
1,5 fois l'écart interquartile par rapport à la médiane)

Page 9
Détection des valeurs aberrantes multivariées en utilisant les valeurs univariées.

"boxplot.stats(DF$tauxmax)$out" calcule les valeurs des valeurs aberrantes dans la variable "tauxmax"
du adre de données "DF" en utilisant la méthode des boîtes à moustaches. Cela renvoie un vecteur de
valeurs considérées comme des valeurs aberrantes dans l'ensemble de données.
"which(DF$tauxmax %in% boxplot.stats(DF$tauxmax)$out)" utilise la fonction "which()" pour
identifier les indices des valeurs aberrantes dans la variable "tauxmax" du cadre de données "DF".
L'opérateur "%in%" teste si chaque élément de "DF$tauxmax" est présent dans le vecteur de valeurs
aberrantes obtenu à partir de "boxplot.stats()". Cela renvoie un vecteur d'indices qui correspondent
aux positions des valeurs aberrantes dans la variable "DF$tauxmax".

Page 10
L’instruction ci-dessous renvoie l’union des valeurs mutlivariées de tauxmax et age qui sera sans
doute égale à 102.

Page 11
Page 12

Vous aimerez peut-être aussi