Guide de l'Analyse de Données
Guide de l'Analyse de Données
1
DATA ANALYTICS
2
DATA ANALYTICS
●
L’analyse de données est un ensemble de
techniques se basant sur les statistiques
●
Objectif : Tirer de l’information à partir de
la data. Comprendre la data.
●
Ces techniques s’appliquent sur des
données structurées selon des lignes
(observations) et des colonnes (variables).
3
DATA ANALYTICS
Types d’analyses :
●
Analyse descriptive : sert à explorer la
data et comprendre la relation entre des
variables, et la distribution de la data.
●
Analyse prédictive : est utilisée pour
prédire des valeurs pour une variable en
se basant sur un historique.
4
DATA ANALYTICS
●
Il n’est pas toujours possible de mener des
analyses sur l’ensemble de la data.
●
Il convient de travailler dans un premier temps
sur des échantillons.
●
L’échantillonnage peut être aléatoire (tirage
au sort d’un pourcentage de la data originale),
ou stratifié (on garde la même proportion de
chaque catégorie d’observations).
5
DATA ANALYTICS
Types de variables :
●
Variable nominale : possède un nombre fini de valeurs
dites modalités.
●
Variable ordinale : variable nominale mais dont l’ordre a
un sens. On peut ordonner les modalités de la variable.
●
Variable discrète : possède des valeurs numériques
discrètes.
●
Variable continue : généralement les valeurs de cette
variable sont découpées en intervalles.
6
DATA ANALYTICS
11
DATA ANALYTICS
●
La dispersion indique dans quelle mesure les observations
s'écartent d'une mesure appropriée de la tendance centrale.
●
La variance montre dans quelle mesure chaque observation
diffère de la moyenne.
●
Plus la variance est faible plus les observations sont proches
de la moyenne, et vice versa.
●
L’écart-type quantifie le degré de dispersion des
observations dans un jeu de données.
12
DATA ANALYTICS
13
DATA ANALYTICS
On repère sur la boîte à moustaches d’une variable :
●
L’échelle des valeurs, située sur l’axe vertical.
●
La valeur du 1er quartile Q1 => trait inférieur de la boîte.
●
La valeur du 2ème quartile Q2 => trait horizontal à l’intérieur
de la boîte.
●
La valeur du 3ème quartile Q3 => trait supérieur de la boîte.
●
Les 2 moustaches, délimitent les valeurs dites adjacentes
qui sont déterminées à partir de l’écart interquartile (Q3-
Q1).
●
Les valeurs dites extrêmes, atypiques, exceptionnelles,
(outliers) situées au-delà des valeurs adjacentes sont
individualisées. Elles sont représentées par des marqueurs
(o, ou *, etc.)
14
DATA ANALYTICS
Lecture d’une boîte à moustaches :
●
On voit s’il y a des points aberrants (outliers)
●
On voit le corps de la boite : plus il est petit plus la
population est homogène
●
De même pour les moustaches, si elles sont étirées on
comprend que la distribution n’est pas homogène
●
Si la boite n’est pas symétrique par rapport à la médiane on
déduit que la distribution n’est pas normale
15
DATA ANALYTICS
On dit que cette distribution suit la loi
normale :
●
L’histogramme est sous forme d’une
cloche
●
Il est symétrique par rapport à la
médiane
●
mode ≈ moyenne ≈ médiane
●
Environ 68 % des observations ont
une valeur comprise entre +σ et -σ
16
DATA ANALYTICS
17
DATA ANALYTICS
●
Des fois on a des variables sur des échelles différentes (comme
l’âge et le salaire) et même avec des unités différentes (comme la
taille et le poids), et on a besoin de faire une standardisation
pour que toutes les variables soient ramenées à la même échelle.
Pour cela on utilise le z-score.
●
Z-score : convertir un score individuel en un score standardisé,
encore appelé score centré et réduit.
●
Z=(X-m)/σ
●
Le score Z permet de fournir une indication précise de la position du score
de l’individu au sein de la distribution.
●
Cette transformation consiste essentiellement à exprimer les données dans
un système de mesure standard.
18
DATA ANALYTICS
INDICATEURS STATISTIQUES
19
DATA ANALYTICS
●
Pour étudier la liaison entre deux variables :
– On calcule le coefficient de corrélation (méthode statistique)
– On trace le nuage de points pour voir si le nuage a une forme (méthode
graphique)
●
Le coefficient de corrélation est compris entre -1 et 1. S’il est nul on dit qu’il n’y a pas
de relation. Plus il est proche de 1 ou -1, on dit qu’il y a une forte relation entre les
deux variables. Quand il est positif on dit que les deux variables varient dans le
même sens, si l’une augmente l’autre augmente aussi, et vice versa.
●
Le coefficient de corrélation dépend des types de variables :
– Variables quantitatives : Coefficient de Pearson
– Variables qualitatives : Chi2 (s’il est nul on dit qu’il n’y a pas de relation. Plus il
est grand plus il y a une forte relation)
– Variables ordinales : Coefficient de Spearman
20
DATA ANALYTICS
LIAISON ENTRE VARIABLES
21
DATA ANALYTICS
●
Régression : Prédiction d’une valeur numérique
continue.
●
Régression Linéaire pour deux variables X et Y :
trouver une fonction linéaire f telle que Y = f(X)
●
X est dite variable explicative, exogène,
indépendante.
●
Y est dite variable expliquée, endogène, dépendante.
●
Si on a deux variables, on parle de régression linéaire
simple.
●
Si on prédit une variable à partir de plusieurs on parle
de régression linéaire multiple.
22
DATA ANALYTICS
Les deux variables X et Y sont Il existe des paramètres
en relation linéaire a, b et ε tels que
Y = a*X + b + ε
23
DATA ANALYTICS
●
Comme il y a plusieurs possibilités de droites qui puissent constituer un
modèle pour la relation linéaire entre les variables, on utilise une méthode
d’optimisation comme la méthode des moindres carrés, pour minimiser le
coût (l’erreur).
●
On évalue la qualité du modèle par la valeur du R2-ajusté. Plus il est
proche de 1 plus le modèle est de bonne qualité.
●
Uniquement dans le cas d’une régression linéaire simple, on constate que
le coefficient de corrélation correspond à :
24
DATA ANALYTICS
Étapes d’une régression (simple ou multiple) :
1. Étude de la relation entre les variables (corrélation et nuage de points)
2. Dans un premier temps on peut essayer l’ensemble des variables explicatives
(attention si certaines variables explicatives sont corrélées entre elles on ne les met
pas toutes dans le modèle)
3. On évalue la qualité du modèle, R2-ajusté. S’il est assez proche de 1 (au-delà de
70%) on dit qu’il s’agit d’un bon modèle. On peut continuer.
4. On analyse les résidus, ils doivent avoir une distribution normale (utiliser QQ-plot par
exemple)
5. On choisit un degré de risque (1%, 5% ou 10%) pour les tests de significativité
6. On évalue la F-statistic. Si son p-value est inférieur au risque, on dit qu’il y a une
relation globale entre toutes les variables explicatives et la variable à expliquer (i.e leurs
coefficients dans l’équation ne sont pas nuls)
7. Pour chaque variable explicative on évalue son p-value. Une variable avec un p-
value supérieur au risque est à écarter du modèle (on dit que son coefficient n’est pas
signifiant statistiquement)
8. Reconstruire le modèle en incluant juste les variables signifiantes, et on reprend
toutes les étapes ci-dessus à partir de l’étape 3)
25
DATA ANALYTICS
Traitement des valeurs manquantes :
●
Soit on enlève les observations avec données manquantes
●
Soit on ne travaille pas avec les variables avec trop de valeurs
manquantes
●
Soit on estime ces valeurs manquantes en utilisant une
régression linéaire Ou en y mettant la moyenne de la variable
26
UNSUPERVISED
LEARNING
27
UNSUPERVISED LEARNING
28
UNSUPERVISED LEARNING
SUPERVISED UNSUPERVISED
Classification/Régression Clustering/Association
On doit disposer de Besoin juste de
Données d’entrée et Données d’entrée
De sortie
Approche orientée tâche Approche orientée data
Besoin d’étiqueter les Données non étiquetées
données
Les données d’entrée sont Toutes les données d’entrée sont
subdivisées en données utilisées en même temps
d’apprentissage et données
de test
Objectif : Prédiction Objectif : Exploration et découverte de
patterns et structures
On sait où on veut arriver Aucune idée sur le résultat
29
UNSUPERVISED LEARNING
Clustering
30
UNSUPERVISED LEARNING
Clustering
●
Technique non supervisée ayant pour objectif de regrouper les membres d’une population
en groupes homogènes.
●
Au sein du même groupe, les membres doivent se ressembler au maximum. Les membres
de différents groupes doivent être différents au maximum.
●
Le clustering (segmentation) se fait à base d’un ensemble de critères : features.
●
Il y a plusieurs types de clustering. Les plus fameux et les plus utilisés :
– Clustering hiérarchique :
●
Approche divisive : Au départ on considère toute la population un seul cluster, puis
on divise jusqu’à obtenir un individu dans chaque cluster.
●
Approche agglomérative : On départ on considère chaque individu comme un
cluster indépendant, puis on procède au regroupement progressif.
– Clustering par partitionnement (notamment k-means)
●
La constitution des groupes se base sur une mesure de similarité (ou distance) entre les
membres de la population. Le choix de la distance dépend du type des variables (features).
31
UNSUPERVISED LEARNING
Clustering
●
Distances pour variables numériques :
On suppose qu’on veut calculer la distance entre deux individus X et Y, où
X={x1,….xn} et Y={y1,…,yn}, n étant le nombre de variables
32
UNSUPERVISED LEARNING
Clustering
●
Distances pour variables binaires :
Où
33
UNSUPERVISED LEARNING
Clustering
●
Pour les variables ordinales : On peut affecter à chaque modalité une valeur numérique. Par
exemple pour une variable ayant comme valeurs {Petit, Moyen, Grand}, on assigne une valeur
numérique à chaque modalité
– Petit : 1
– Moyen : 2
– Grand : 3
●
Pour les variables nominales : On crée pour chaque modalité une nouvelle variable qui soit
binaire. On les appelle variables dummy. Par exemple pour la couleur des yeux, on peut créer de
nouvelles variables :
– yeuxBleu,
– yeuxVert,
– YeuxGris,
– …
Chaque variable prend soit la valeur 1 soit la valeur 0, pour chaque individu.
34
UNSUPERVISED LEARNING
Clustering
●
Les transformations qu’on fait sur les variables ordinales et
nominales rentrent dans le cadre de feature engineering.
●
Le feature engineering renvoie à l'ensemble des interventions
effectuées sur les données brutes, avant qu'elles ne soient prises en
compte par un algorithme apprenant.
●
Ces interventions peuvent être des transformations, calculs,
polynomial, déduction,…
●
Aussi, on utilise la standardisation ou la normalisation si les
variables sont sur différentes échelles. On veut ramener toutes les
variables à la même unité/échelle pour que le calcul de distances ait
un sens et ne soit pas biaisé (voir z-score dans le cours data
analytics)
35
UNSUPERVISED LEARNING
Clustering
●
Attention si les variables sont de types mixtes
●
Il y a certains algorithmes de clustering qui ne peuvent pas
manipuler des variables de différents types, comme le k-means
●
On peut trouver des algorithmes qui ont fonctionnent en dépit
de la variabilité des types de variables, comme model-based
clustering
●
Pour y remédier, on peut utiliser la distance de Gower
●
Il importe, avant de procéder au clustering, d’analyser les
corrélations entre les différentes variables. Garder deux
variables fortement corrélées pour faire le clustering va biaiser
la constitution des groupes (redondance d’information)
36
UNSUPERVISED LEARNING
Clustering
●
Rappelons que l’objectif du clustering est de
constituer des groupes de façon à ce que les
distances entre les membres d’un groupe soient
minimales, et les distances entre les membres de
groupes différents soient maximales
●
Pour le clustering hiérarchique, on a besoin de
calculer les distances entre les groupes. On a
globalement quatre approches, on peut choisir celle
qui donne les meilleurs résultats :
37
UNSUPERVISED LEARNING
DISTANCES ENTRE Clustering
Centroid Method : Distance entre les centres
des clusters.
CLUSTERS
38
UNSUPERVISED LEARNING
Clustering
39
UNSUPERVISED LEARNING
Clustering
40
UNSUPERVISED LEARNING
Clustering
41
UNSUPERVISED LEARNING
Clustering
●
Le Dendrogram est le output du
clustering hiérarchique. Il présente
les liens (links) entre les clusters
ainsi que la hauteur (height) de Un cluster
chaque cluster. composé de 1 et 3
●
Sur le dendrogram, plus on monte
dans la hauteur plus la ‘taille’ des
clusters devient importante.
●
Pour exploiter le dendrogram, on
choisit un niveau (nombre de
clusters) et on extrait les
membres de chaque cluster.
42
UNSUPERVISED LEARNING
Clustering
k-modes, Centres mobiles,
k-prototypes, k-means et
k-représentants nuées dynamiques
Clustering
par Partitionnement
….
43
UNSUPERVISED LEARNING
Clustering
K-means : Étapes
44
UNSUPERVISED LEARNING
Clustering
45
UNSUPERVISED LEARNING
Clustering
●
L’algorithme k-means a un hyper-paramètre
qu’il faut choisir : k le nombre de clusters à
générer.
●
Le choix n’est pas arbitraire. On trace le
graphe dit « Elbow » (i.e coude)
●
L’idée est de faire varier K et surveiller
l’évolution de l’inertie intra-classes W. On
cherche alors le «coude» où l’adjonction
d’une classe ne correspond à rien dans la
structuration des données.
●
L’inertie intra-classes peut être calculée en
sommant les carrés des distances entre les
membres de chaque Cluster.
●
Selon le graphique, La partition en K = 3
classes est la dernière à induire un gain
informationnel significatif
46
UNSUPERVISED LEARNING
Clustering
●
Après constitution des clusters, on procède à
l’exploration des membres de chaque groupe
●
On doit/essaie de répondre à la question : qu’est
ce qui caractérise chaque groupe ? Qu’est ce qui
a fait que ces individus se sont trouvés dans le
même groupe ? Qu’est ce qu’ils ont de commun ?
●
Pour répondre à ces question, on fait une analyse
des valeurs pour chaque variable au sein de
chaque groupe. On peut calculer la moyenne, la
médiane, le mode, min, max, Q1, Q3, écart type.
On peut tracer les boites à moustaches...
●
On essaie d’identifier par la lecture des
indicateurs statistiques ce qui est marquant pour
chaque variable (par exemple une variable avec
des valeurs très élevées, ...)
47
UNSUPERVISED LEARNING
Réduction de Dimensionnalité
●
La réduction de dimensionnalité est un ensemble de techniques non supervisées visant à
réduire le nombre de variables.
●
Des fois le nombre de variables devient énorme (en particulier en text mining), et du coup les
tâches de classification ou autres deviennent très coûteuses et même moins performantes.
●
Parmi ces techniques il y a ce qu’on appelle celles de feature selection, sélection des
meilleures variables qui puissent nous aider à représenter et modéliser le phénomène
étudié.
●
Les méthodes de feature selection sont des méthodes statistiques permettant de calculer
l’importance/potentiel de chaque variable. Par la suite on pourra sélectionner les variables
qui ont plus d’importance. Il y a plusieurs méthodes, entre autres :
●
Chi-2
●
Mutual Information
●
Information Gain
●
Lasso
●
Recursive Feature Elimination (RFE)
48
UNSUPERVISED LEARNING
Réduction de Dimensionnalité
49
UNSUPERVISED LEARNING
Association Rules
●
Les règles d’association est une technique non supervisée ayant comme objectif
d’identifier des associations latentes entre différentes entités
●
L’algorithme le plus utilisé et le plus efficace : Apriori
●
Plusieurs applications, dont la plus connue : Market Basket Analysis (qui va avec quoi,
quels articles sont achetés ensemble ?)
●
Pour générer les règles, on a besoin de choisir les valeurs de certains paramètres :
●
Support
●
Confiance
●
Lift
●
Il n’y a pas de règle pour le choix de ces valeurs, chaque domaine pourra avoir ses bons
paramètres
●
Market Basket Analysis peut aider à :
●
faire de bonnes recommandations
●
mieux réaménager la disposition des produits pour améliorer/maximiser leurs ventes
●
concevoir des packs de promos
50
UNSUPERVISED LEARNING
Association Rules
✔
K-itemset : un itemset composé de k item.
Exemple : (Milk,Bread,Buiscuits) est un 3-itemset.
✔
Support count : Nombre d’occurrences d’un
itemset.
Exemple : Pour (Milk,Bread,Buiscuits) c’est 2.
✔
Support : Proportion des transactions qui
contiennent l’itemset.
Exemple : Pour (Milk,Bread,Buiscuits) c’est 2/5
(On a au total 5 transactions).
✔
Confiance : Probabilité conditionnelle qu’un item
On dit que 0.67 est la
apparaitra dans une transaction qui contient déjà
confiance de la règle :
l’item tel.
Milk, Biscuits =˃ Toys
Exemple : La confiance que Toys apparaît dans
Si un client achète Milk & Biscuits,
une transaction contenant déjà Milk et Biscuits est
il y a 67 % de chance pour
{Milk, Biscuits, Toys} / {Milk, Biscuits} = 2 / 3 = 0.67
qu’il achète Toys.
51
UNSUPERVISED LEARNING
Association Rules
●
Support : Pourcentage des transactions qui
contiennent X et Y par rapport à la totalité des
transactions
●
Confiance : Pourcentage des transactions
contenant X et Y par rapport au nombre de
transactions contenant Y
●
Attention : la confiance de la règle X=>Y n’est
pas forcément égale à la confiance de la règle
Y=>X
●
Lift : mesure l’impact de l’achat de X sur
l’achat de Y
●
Plus le lift est grand (bien supérieur à 1), plus
il est bon
52
UNSUPERVISED LEARNING
Association Rules
53
CYCLE de VIE
d’un projet data science
54
TEXT MINING
55
TEXT MINING
●
C’est un domaine qui utilise les techniques de machine
learning pour le traitement de données textuelles.
●
Le text mining présente plusieurs challenges, notamment :
– Curse of dimensionality : Le nombre de features est très élevé et atteint
rapidement les dizaines de milliers et plus
– Matrix sparsity : La matrice qu’on construit est toujours creuse, trop de
zéros contre peu de cellules renseignées
●
Il y a encore plus de challenges quand il s’agit de textes
écrits sur le web par de simples internautes : erreurs de
langues, ironies, textes très courts, styles diversifiés,
textes mal ponctués, abréviations, multilinguisme, etc.
56
TEXT MINING
●
Plusieurs domaines d’application, par exemple : opinion mining,
spam détection, text catégorisation, Information Extraction, etc.
●
Comme les techniques de machine learning ne peuvent manipuler
que des vecteurs numériques, l’idée est de considérer chaque
texte un document (un exemple, une instance) puis de transformer
chaque document en un vecteur numérique.
●
Pour effectuer cette transformation, on doit passer par les étapes
suivantes :
– Prétraitement
– Extraction de termes (features)
– Feature Selection
– Pondération
57
TEXT MINING
●
Le prétraitement (preprocessing) est une
étape primordiale ayant pour objectif de
nettoyer et préparer les textes pour les
étapes suivantes :
– Suppression des marques de ponctuation et des
caractères spéciaux
– Stop word removal
– Seuillage
– Stemming
58
TEXT MINING
●
Suppression des marques de ponctuation
et des caractères spéciaux :
– Il est nécessaire d’enlever toutes les marques de
ponctuation pour aider à l’étape de tokenisation =
extraction de termes (features).
– Aussi on supprime les caractères spéciaux.
– Des fois on a intérêt à enlever les chiffres, des fois
on a besoin de les garder, selon la nature de tâche.
59
TEXT MINING
●
Stop word removal :
– On enlève les mots communs, les déterminants et les mots qui
ne nous aident pas dans notre tâche de classification. Exp : la,
des, dans, avec, me, votre, etc.
– La liste est déjà prête pour chaque langue il suffit de la
télécharger.
– Elle est construite soit manuellement, soit automatiquement en
procédant à l’extraction des mots depuis un corpus (ensemble de
documents textuels) qui sont très fréquents. On suppose que ces
mots qui se répètent souvent sont des stop words à enlever, et
que leur suppression n’affecte pas la performance de tâche de
classification.
60
TEXT MINING
●
Seuillage :
– On choisit deux seuils : min et max de fréquences.
– L’idée est d’enlever les termes dont la fréquence est
supérieure au seuil max.
– Idem, on enlève les termes dont la fréquence est
inférieure au seuil min.
– L’intuition étant que les mots les moins fréquents ou les
plus fréquents ne nous aideraient pas trop à faire la
classification de nouveaux documents (voir loi Zipf dans
le cours)
61
TEXT MINING
●
Stemming :
– Cette étape a pour objectif de remonter à la racine de chaque mot
pour éviter la redondance de plusieurs mots de la même famille.
C’est pour encore réduire le nombre de feature à extraire.
– Les algorithmes de stemming sont déjà implémentés, il suffit de
leur faire appel.
– Chaque langue a ses algorithmes de stemming.
– Il y a des types de stemming. Par exemple le mot universitaires
peut être réduit à universitaire ou bien univers. On choisit
l’algorithme qui est le plus adéquat à notre contexte et qui donne
les meilleurs résultats.
62
TEXT MINING
●
L’extraction des termes, ou la tokenisation, consiste à découper les
documents selon un ensemble de séparateurs (généralement l’espace).
●
On extrait de chaque document (labellisé) les termes qui y apparaissent,
mot à mot. On construit ce qu’on appelle le dictionnaire. Si on extrait un
mot qui existe déjà dans le dictionnaire, on l’ignore car il existe déjà.
●
L’approche la plus basique est d’extraire les mots (single words), elle
s’appelle sac de mots (bag of words). Le problème est qu’on perd le sens
puisqu’on ne garde plus l’ordre des mots.
●
Pour y remédier, on peut extraire les mot n-grammes. On choisit la
valeur de n. Elle peut être 2, 3, 4, etc. Aussi on peut combiner plusieurs
valeurs de n en même temps : on extrait les bi-grammes (n=2) et les tri-
grammes (n=3) par exemple.
63
TEXT MINING
Mots n-grammes
64
TEXT MINING
N-grammes Charactères
65
TEXT MINING
●
Feature selection : Comme le nombre des features
est très grand, il convient d’appliquer une techniques
statistique de réduction de dimensionnalité (chi2 ou
autre), et choisir le nombre de features à garder k.
●
C’est pour remédier au problème de curse of
dimensionality connu dans le text mining.
●
On varie la valeur de k et on observe la performance
du système. On choisit à travailler avec k qui donne
les meilleurs résultats.
66
TEXT MINING
f1 f2 ... ... ... ... ... ... ... ... ... ... fn
D1
D2
D3
Document-Term Matrix
(3xn)
67
TEXT MINING
●
La pondération consiste à donner un poids pour chaque feature vis-à-
vis un document.
●
Cette étape vient après la construction de la matrice, où les lignes
sont les documents et où les colonnes sont les features.
●
Il y a plusieurs méthodes de pondération, les plus connues :
– Binaire (0/1) : on assigne la valeur 0 si le terme n’est pas présent dans le document, et 1
s’il apparaît. C’est la pondération la plus basique.
– Fréquence brute : on met comme poids le nombre de fois où chaque terme apparaît dans
le document.
– Fréquence normalisée : des fois les documents ne sont tous pas de la même longueur et
donc la fréquence brute peut être biaisée. On divise la fréquence brute du terme par la
longueur du documents, i.e le nombre de termes dans ce document.
– TF-IDF (term frequency inverse document frequency) : c’est pour minimiser le poids des
termes qui sont trop fréquents dans la totalité des documents.
68
TEXT MINING
●
Une fois la matrice établie et renseignée, on a chaque document
textuel transformé en vecteur numérique. On peut passer à
l’étape suivante de machine learning.
●
On découpe les documents en partie apprentissage et parti test,
et on procède à la construction du modèle de classification.
●
Si on a un nouveau document à classifier, on applique les même
étapes de prétraitement qu’on a faites pour les documents
d’apprentissage, puis on construit le vecteur pour ce nouveau
document. Attention : on utilise les features extraits depuis les
documents d’apprentissage. Pour chacun de ces features, on
renseigne son poids par rapport à ce nouveau document (bien sûr
on utilise la même méthode de pondération).
69
TEXT MINING
70