Améliorer la performance du modèle avec les méthodes des
Ensembles
2Copyright (c) 2018. Data Science Dojo
Programme
• Présentation Générale et raison d’être
• Pourquoi les ensembles ?• Distribution binomiale
• Famille de modèles• Bagging (Bootstrap AGGregating)
• Random Forests (Forêts aléatoires)
• Boosting
• AdaBoost (Adaptive boosting)
3Copyright (c) 2018. Data Science Dojo
Méthode des Ensembles
•Améliorer la performance du modèle en combinant plusieurs modèles
•Les ensembles peuvent provenir de tout algorithme d'apprentissage, incluant la classification et la régression
4Copyright (c) 2018. Data Science Dojo
Modèles d’arbres de Décisions
Sous ensemble 1 Sous-ensemble 2 Sous-ensemble 3
Ensemble
De modèles
DONNÉE
D’ORIGINE
5Copyright (c) 2018. Data Science Dojo
Ensemble de Modèles d’arbres de Décisions
Nouvelle Donnée
Prédiction pour
l’Ensemble
Vote
Prédiction 1 Prédiction 2 Prédiction 3
• Combinaison de
plusieurs modèles
indépendants
• Peut être de n’importe
lequel des
algorithmes
• Vote des classificateurs
• Moyenne de régression
• Un point d’entrée pour une
nouvelle donnée (donnée future)
• Un nouveau passager du Titanic
par exemple
6Copyright (c) 2018. Data Science Dojo
DISTRIBUTION BINOMIAL
7Copyright (c) 2018. Data Science Dojo
Distribution Binomiale
Lancé
F
FF
P
PF
P
P
FF
P
PF
P
Face Pile
3 0
2 1
2 1
1 2
2 1
1 2
1 2
0 3
Considérons par exemple…
▪ Lancer une pièce 3 fois de suite
▪ Chaque lance est considéré comme
indépendant
▪ Une pièce correcte a 50% de chance de
Pile et de Face
Propriétés d'une distribution binomial :
▪ Principe statistique bien étudié
▪ Vous ne pouvez pas savoir comment se
comportera chaque tirage au sort ou
les résultats individuels (tels que FFF ou
FPF)
▪ Cependant, vous pourrez prédire le
comportement grâce à l’agrégation de
plusieurs sessions de tirage au sort
8Copyright (c) 2018. Data Science Dojo
Distribution Binomiale
knk ppk
nkXPpnkf
)1()(),;(
9Copyright (c) 2018. Data Science Dojo
Répondre à l’ensemble des 5 questions correctement?
• P = 1/5
• N = 10
• Probabilité de répondre aux 10 questions correctement: 10!/10! * (1/5)^10 * (1-1/5)^(10-10) = 0.0000001024
10Copyright (c) 2018. Data Science Dojo
Champs d’applications
• Nombre de détenteurs d’assurance vie qui feront une réclamation sur une période donnée
• Nombre de détenteurs de prêts qui auront un incident de paiement sur une certaine période
• Nombre de faux départs d'une voiture en n tentatives
• Nombre d'éléments défectueux dans n échantillons provenant d'une ligne de production
• ET Méthode des Ensembles
11Copyright (c) 2018. Data Science Dojo
Comment cela fonctionne ?
25
13
25 06.0)1(25
i
ii
i
• Supposons qu’il y ait 25 classificateurs de base (modèles construits sur les sous-ensembles de données)• Chaque classificateur a un taux d'erreur, = 0.35 (notre
p)
• On considère que les classificateurs sont indépendants
• Probabilité que le classificateur d'ensemble fasse une prédiction erronée :
12Copyright (c) 2018. Data Science Dojo
Exemples de Méthodes d’Ensemble
Bagging (Bootstrap AGGregating)• Tous les classificateurs sont créés égaux
Boosting• Tous les classificateurs NE sont PAS créés égaux
13Copyright (c) 2018. Data Science Dojo
BAGGING
14Copyright (c) 2018. Data Science Dojo
Bagging
• Echantillonnage avec replacement
• Chaque sac contient des variantes des données originales
• Cela produit, alors, des arbres différents
Données d’origine
SAC 1 SAC 2 SAC 3
15Copyright (c) 2018. Data Science Dojo
Bagging
Donnée d’Origine
Sac 1 Sac 2 Sac 3
* Chaque boule est une observation dans le jeu de données
16Copyright (c) 2018. Data Science Dojo
Forêts de groupement de décisions
Bag 1 Bag 2 Bag 3
Modèles d’ensembles
combinés
Donnée
d’Origine • Créé une projection du jeu
de données échantillonnées
avec des exemples
• Chaque sac est
aléatoirement différent,
générant différents arbres
• Un nouvel arbre est
construit à partir de
chacun des sacs
Groupe 1
17Copyright (c) 2018. Data Science Dojo
Bagging
Original Data 1 2 3 4 5 6 7 8 9 10
Bagging (Round 1) 7 8 10 8 2 5 10 10 5 9
Bagging (Round 2) 1 4 9 1 2 3 2 7 3 2
Bagging (Round 3) 1 8 5 10 5 5 9 6 3 7
• Échantillonnage avec remplacement
Sac 1 (Modèle 1): {7, 8, 10, 2, 5, 9} OOB (Hors du Sac /Out of Bag): {1, 3, 4, 6}
Sac 2 (Modèle 2): {1, 4, 9, 2, 3, 7} OOB: {5, 6, 8, 10}Sac 3 (Modèle 3): {1, 8, 5, 10, 9, 6, 3, 7} OOB: {2, 4}
18Copyright (c) 2018. Data Science Dojo
Bagging
• Réduit la variance des estimations
• Évite les surdimensionnements
• Résiste aux valeurs aberrantes
19Copyright (c) 2018. Data Science Dojo
FORÊTS ALÉATOIRES
20Copyright (c) 2018. Data Science Dojo
QU’EST-CE QU’UNE FORÊT ALÉATOIRE?
• Un classificateur d'ensemble utilisant de nombreux modèles d'arbre de décision
• Peut être utilisé pour la classification ou la régression
• La précision et l'importance de la variable sont intégrées
21Copyright (c) 2018. Data Science Dojo
COMMENT FONCTIONNE UNE FORÊT ALÉATOIRE?
• Un sous-ensemble différent des données d’apprentissage est sélectionné (~ 2/3), avec remplacement, pour former chaque arbre
• Les données d’apprentissage restantes (c.-à-d. les données hors sac ou simplement OOB) sont utilisées pour estimer l'erreur et l'importance de la variable
• L'attribution de classe est faite par le nombre de votes de tous les arbres. Pour la régression, la moyenne des résultats est utilisée
22Copyright (c) 2018. Data Science Dojo
{Périmètre, concavité, texture, compacité}
Périmètre Concavité Texture Compacité
Gini 1 Gini 2 Gini 3 Gini 4
Comparons les données de Gini à partir de tous les fractionnements et sélectionnons les caractéristiques qui permettent les plus grandes réductions dans Gini. La fonctionnalité qui se traduit par la plus grande réduction de Gini est alors
utilisée comme la première fonction à diviser
23Copyright (c) 2018. Data Science Dojo
{Périmètre, concavité, texture, compacité}
Périmètre
(Gini 1)
{Concavité, Texture}
<114.6 ≥114.6
{Compact, zone}Concavité
béninmalin
Texture {rayon, douceur}
{et ainsi de suite...}
(Gini 2) (Gini 3)
A chaque nœud, seul un sous-ensemble
aléatoire de fonctionnalités est
utilisé pour comparer et sélectionner la fonctionnalité à
utiliser pour diviser
24Copyright (c) 2018. Data Science Dojo
BOOSTING
25Copyright (c) 2018. Data Science Dojo
Boosting
Cas
d’apprentissage
Classés
correctement
Ce cas d’apprentissage
a un poids très lourd
dans ce cycle
Ce DT a un vote très lourd
a strong vote
Cycles de Boosting
26Copyright (c) 2018. Data Science Dojo
Boosting
• Une procédure itérative pour modifier de manière adaptative la distribution des données d’apprentissage en se concentrant davantage sur les enregistrements précédemment classés de manière erronée
• Initialement, tous les enregistrements N sont considérés de même “poids”• Contrairement au bagging, les poids peuvent changer à la fin d'un cycle de boosting
27Copyright (c) 2018. Data Science Dojo
Boosting
Original Data 1 2 3 4 5 6 7 8 9 10
Boosting (Round 1) 7 3 2 8 7 9 4 10 6 3
Boosting (Round 2) 5 4 9 4 2 5 1 7 4 2
Boosting (Round 3) 4 4 8 10 4 5 4 6 3 4
• Les enregistrements mal classés vont voir leur “poids” augmenter
• Les enregistrements correctement classés vont voir leur “poids” diminuer
• Le cas 4 est difficile à classer• Son "poids » est augmenté, il sera donc plus probable de le choisir à nouveau dans les prochains tours à venir
28Copyright (c) 2018. Data Science Dojo
L’Intuition du Boosting
• Nous adaptons le poids de chaque jeux de données.
• Les jeux de données classés de manière erronées obtiennent un poids plus élevés (l'algorithme se concentrera sur eux).
• Chaque round de boosting apprend un nouveau classificateur (simple) sur le jeu de données pondéré.
• Ces classificateurs sont pondérés pour les combiner en un seul classificateur puissant.
• Les classificateurs qui obtiennent un faible taux d'erreur d'apprentissage ont un poids élevé.
• Nous nous arrêtons en surveillant un ensemble de contraintes.
29Copyright (c) 2018. Data Science Dojo
ADABOOST
30Copyright (c) 2018. Data Science Dojo
AdaBoost (Boosting Adaptif)
• Classeurs de Base: C1, C2, …, CT
• Taux d’erreurs [fonction perte pondérée]:
• Importance du classificateur:
N
j
jjiji yxCwN 1
)(1
i
ii
1ln
2
1
31Copyright (c) 2018. Data Science Dojo
AdaBoost
n factorrmalizatio is the no where Z
yxC
yxC
Z
ww
j
iij
iij
j
j
ij
i j
j
)( ifexp
)( ifexp)()1(
• Mise à jour du poids:
• Si des cycles intermédiaires génèrent un taux d'erreur supérieur à 50%, les poids sont ramenés à 1 / n et la procédure de rééchantillonnage est répétée.
• Classement:
T
j
jjy
yxCxC1
)(maxarg)(*
32Copyright (c) 2018. Data Science Dojo
Erreur commune
Une forêt aléatoire et un arbre de decision“boosté” ne sont pas la même chose
33Copyright (c) 2018. Data Science Dojo
Des Questions ?
33Copyright (c) 2018. Data Science Dojo
Principes fondamentaux d'analyse de texte
35Copyright (c) 2018. Data Science Dojo
Donnée structurée ou non structurée
• Structurée – Données dans un tableau
• Demi-structurée – données hors tableau mais avec des métadonnées
• Ex: JSON, XML
• Non structurée – Données hors tableau et sans métadonnées
Copyright (c) 2018. Data Science Dojo
36Copyright (c) 2018. Data Science Dojo
Structurée – Tableau de données
Copyright (c) 2018. Data Science Dojo
37Copyright (c) 2018. Data Science Dojo
Donnée à demi-structurée
Copyright (c) 2018. Data Science Dojo
38Copyright (c) 2018. Data Science Dojo
Donnée non structurée
Copyright (c) 2018. Data Science Dojo
39Copyright (c) 2018. Data Science Dojo
Analyse de texte dans les affaires
39
▪ Récupération d’Informations(IR)
▪ Trouver les documents correspondant à une requête
▪ Analyse de sentiments
▪ Détermine l’« émotion » d’un document en se référant à
certains mots/termes apparaissant dans le document
▪ Moteurs de recommandation (Similarité)
▪ Recommande des entités selon certains attributs
▪ Modélisation thématique
▪ Réduit le document à des thèmes
Copyright (c) 2018. Data Science Dojo
40Copyright (c) 2018. Data Science Dojo
Récupération d’Informations
40Copyright (c) 2018. Data Science Dojo
41Copyright (c) 2018. Data Science Dojo
Analyse de sentiments
41Copyright (c) 2018. Data Science Dojo
42Copyright (c) 2018. Data Science Dojo
Analyse de sentiments
42Copyright (c) 2018. Data Science Dojo
44Copyright (c) 2018. Data Science Dojo
Moteur de recommandations
“Associate” appears
in all postings, and all
postings share words
that may be related
(“private equity,”
“investment,”
“valuations,” “MBA,”
“capital,” etc)
Copyright (c) 2018. Data Science Dojo
45Copyright (c) 2018. Data Science Dojo
Modélisation thématique
Copyright (c) 2018. Data Science Dojo
46Copyright (c) 2018. Data Science Dojo
Principes fondamentaux d'analyse de texte
• Token: Un mot spécifique dans le document
• Term: un mot dans sa version telle qu’elle se trouve dans un dictionnaire
• Corpus: L’ensemble des documents.
Copyright (c) 2018. Data Science Dojo
47Copyright (c) 2018. Data Science Dojo
Principes fondamentaux d'analyse de texte
• Comment transformer des données non structurées en données structurées?• Créer des colonnes basées sur le contenu du document
• Chaque terme du document créé une colonne• Type de colonne: binaire, comptage de mot, TF-IDF
• Est-ce que nous voulons compter tous les mots ?• Mots non significatifs
• Lemmatisation et racinisation des mots
Copyright (c) 2018. Data Science Dojo
48Copyright (c) 2018. Data Science Dojo
Terme – Exemple du dictionnaire
Elaboration du dictionnaire
Suppression des mots non
significatifs, de la ponctuation, etc
pré-traitement
minuscules
Données sous forme de texte non structuré
Racinisation
des mots
terme
robo-adviser
advantage
beat
market
creat
bond
emotion
client
token
robo-adviser
advantage
beating
market
creating
bond
emotional
clients
dictionnairedocument
Copyright (c) 2018. Data Science Dojo
49Copyright (c) 2018. Data Science Dojo
Racinisation et lemmatisation
• Racinisation: Conversion des tokens en termes retrait de lettres via heuristique• Selon la simple (Levins) et la complexe (Porter)
• Lemmatisation: Classe les tokens en termes en utilisant une analyse linguistique• Lemme: La forme de base (dictionnaire) d’un mot• Peut être fait en utilisant un dictionnaire, un
apprentissage automatique sur un ensemble de documents (corpus) annoté
Copyright (c) 2018. Data Science Dojo
50Copyright (c) 2018. Data Science Dojo
Exemple de racinisation / lemmatisation
Token Terme racinisé Terme lemmatisé
Stemming is funnier than lemmatizing says the Barcelona loving data scientists
Stem is funnier than lemmas say the Barcelona love data scientist
stem be funny than lemmatizing say the barcelona love data scientist
Copyright (c) 2018. Data Science Dojo
51Copyright (c) 2018. Data Science Dojo
Vectorisation de document
team coach
play ball score game win lost timeout
season
d1 3 0 5 0 2 6 0 2 0 2
d2 0 7 0 2 1 0 0 3 0 0
d3 0 1 0 0 1 2 2 0 3 0
Documents 1
à 3
Termes dans les documentstermes
team
coach
play
ball
score
game
win
lost
timeout
season
dictionnaire
Copyright (c) 2018. Data Science Dojo
52Copyright (c) 2018. Data Science Dojo
team coach play ball score game win lost timeout
season
d1 3 0 5 0 2 6 0 2 0 2
d2 0 7 0 2 1 0 0 3 0 0
d3 0 1 0 0 1 2 2 0 3 0
Vectorisation de document
• Chaque document devient un vecteur
• Permet l’utilisation de l’analyse numérique
Copyright (c) 2018. Data Science Dojo
53Copyright (c) 2018. Data Science Dojo
0
7
0
2
4
5
7
9
0 1 2 3 4
co
ach
team
La distance entre les
documents est calculée de la
façon suivante
Mesure de la similarité de documents
Copyright (c) 2018. Data Science Dojo
54Copyright (c) 2018. Data Science Dojo
Vectorisation de document binaire
54
▪ Chaque document a 1 si le mot apparait et
0 si ce n’est pas le cas
team coach play ball score game win lost timeout
season
d1 1 0 1 0 1 1 0 1 0 1
d2 0 1 0 1 1 0 0 1 0 0
d3 0 1 0 0 1 1 1 0 1 0
Copyright (c) 2018. Data Science Dojo
55Copyright (c) 2018. Data Science Dojo
Inconvénients de la vectorisation
55
▪Tous les mots n’ont pas la même importance
▪Les documents les plus longs ont plus de chance d'avoir aléatoirement des mots sans importance
Copyright (c) 2018. Data Science Dojo
56Copyright (c) 2018. Data Science Dojo
Fréquence du Terme– fréquence inverse de documentTF-IDF
56
• Calcule l'importance des termes en fonction de leur occurrence dans un document donné
• Mais équilibre avec sa prévalence ailleurs, dans l'ensemble des documents
• Plus il apparaît fréquemment dans un document particulier, plus il devient important
• Les apparitions fréquentes dans d'autres documents réduisent son importance
Copyright (c) 2018. Data Science Dojo
57Copyright (c) 2018. Data Science Dojo
Fréquence de terme (TF)
57
▪Mesure la fréquence d'apparition d'un terme dans un document donné (densité dans un document)
• Suppose que les termes importants apparaissent plus souvent
• Normalisé pour tenir compte de la longueur du document
Copyright (c) 2018. Data Science Dojo
58Copyright (c) 2018. Data Science Dojo
Fréquence de Terme (TF)
58Copyright (c) 2018. Data Science Dojo
59Copyright (c) 2018. Data Science Dojo
Fréquence de Terme (TF)
59Copyright (c) 2018. Data Science Dojo
60Copyright (c) 2018. Data Science Dojo
Fréquence Inverse de Document (IDF)
60
▪Vise à réduire le poids des termes qui apparaissent dans plusieurs autres documents
▪Suppose que les termes qui apparaissent dans de plusieurs documents sont moins importants
Copyright (c) 2018. Data Science Dojo
61Copyright (c) 2018. Data Science Dojo
Fréquence Inverse de Document (IDF)
61Copyright (c) 2018. Data Science Dojo
62Copyright (c) 2018. Data Science Dojo
Exemple de Fréquence Inverse de Document (IDF)
62
• Soient 1000 documents (cela peut être des tweets, des articles, etc...)
• Le terme “coffee” apparait dans 10 documents sur les 1000
• Le terme “mug” apparait dans l’ensemble des 1000 documents
IDF (coffee) = log 1000/10 = log 100 = 2
IDF (mug) = log 1000/1000 = log 1 = 0
Copyright (c) 2018. Data Science Dojo
63Copyright (c) 2018. Data Science Dojo
Calcul du TF-IDF
63
▪Calculer l’importance globale des mots-clés
• Etant donné un mot-clé t et un document d
TF-IDF (t,d) = TF(t,d) * IDF(t)
Copyright (c) 2018. Data Science Dojo
64Copyright (c) 2018. Data Science Dojo
Exercice TF-IDF
Dictionnaire:• {rheumatoid, arthritis, factor, left, right, elbow, hand, hip, wrist}
Requête:• Arthritis left hand
D1 Rheumatoid arthritis with rheumatoid factor of left elbow
D2 Rheumatoid arthritis with rheumatoid factor of left hand
D3 Rheumatoid arthritis with rheumatoid factor of left hip
D4 Rheumatoid arthritis with rheumatoid factor of left wrist
D5 Rheumatoid arthritis with rheumatoid factor of right hand
Documents:
Copyright (c) 2018. Data Science Dojo
65Copyright (c) 2018. Data Science Dojo
Création de la matrice TF : Etape 1
Rheumatoid Arthritis Factor Left Right Elbow Hand Hip Wrist
D1 2 1 1 1 0 1 0 0 0
D2 2 1 1 1 0 0 1 0 0
D3 2 1 1 1 0 0 0 1 0
D4 2 1 1 1 0 0 0 0 1
D5 2 1 1 0 1 0 1 0 0
Etape 1: Calculer la fréquence des mots par documents.
Copyright (c) 2018. Data Science Dojo65
66Copyright (c) 2018. Data Science Dojo
Création de la matrice TF : Etape 2
Rheumatoid Arthritis Factor Left Right Elbow Hand Hip Wrist
D1 2 / 2 1 / 2 1 / 2 1 / 2 0 / 2 1 / 2 0 / 2 0 / 2 0 / 2
D2 2 / 2 1 / 2 1 / 2 1 / 2 0 / 2 0 / 2 1 / 2 0 / 2 0 / 2
D3 2 / 2 1 / 2 1 / 2 1 / 2 0 / 2 0 / 2 0 / 2 1 / 2 0 / 2
D4 2 / 2 1 / 2 1 / 2 1 / 2 0 / 2 0 / 2 0 / 2 0 / 2 1 / 2
D5 2 / 2 1 / 2 1 / 2 0 / 2 1 / 2 0 / 2 1 / 2 0 / 2 0 / 2
Copyright (c) 2018. Data Science Dojo
67Copyright (c) 2018. Data Science Dojo
Création du Vecteur IDF
Matrice TF Vecteur IDF
Rheumatoid Arthritis Factor Left Right Elbow Hand Hip Wrist
D1 1 0.5 0.5 0.5 0 0.5 0 0 0
D2 1 0.5 0.5 0.5 0 0 0.5 0 0
D3 1 0.5 0.5 0.5 0 0 0 0.5 0
D4 1 0.5 0.5 0.5 0 0 0 0 0.5
D5 1 0.5 0.5 0 0.5 0 0.5 0 0
Mot IDF
Rheumatoid = log (5/5)
Arthritis = log (5/5)
Factor = log (5/5)
Left = log (5/4)
Right = log (5/1)
Elbow = log (5/1)
Hand = log (5/2)
Hip = log (5/1)
Wrist = log (5/1)
Copyright (c) 2018. Data Science Dojo
68Copyright (c) 2018. Data Science Dojo
Matrice TF-IDF
On calcule les TF-IDF multipliant TF et IDF
Rheumatoid Arthritis Factor Left Right Elbow Hand Hip Wrist
D1 1 * log(5/5) 0.5 * log(5/5) 0.5 * log(5/4) 0.5 * log(5/4) 0 * log(5/1)0.5 *
log(5/1)0 * log(5/2) 0 * log(5/1) 0 * log(5/1)
D2 1 * log(5/5) 0.5 * log(5/5) 0.5 * log(5/4) 0.5 * log(5/4) 0 * log(5/1) 0 * log(5/1)0.5 *
log(5/2)0 * log(5/1) 0 * log(5/1)
D3 1 * log(5/5) 0.5 * log(5/5) 0.5 * log(5/4) 0.5 * log(5/4) 0 * log(5/1) 0 * log(5/1) 0 * log(5/2)0.5 *
log(5/1)0 * log(5/1)
D4 1 * log(5/5) 0.5 * log(5/5) 0.5 * log(5/4) 0.5 * log(5/4) 0 * log(5/1) 0 * log(5/1) 0 * log(5/2) 0 * log(5/1)0.5 *
log(5/1)
D5 1 * log(5/5) 0.5 * log(5/5) 0.5 * log(5/4) 0.0 * log(5/4)0.5 *
log(5/1)0 * log(5/1)
0.5 * log(5/2)
0 * log(5/1) 0 * log(5/1)
Copyright (c) 2018. Data Science Dojo
69Copyright (c) 2018. Data Science Dojo
TF-IDF d’un exemple de recherche
• Recherches d'utilisateurs dans notre ensemble de documents
• Requête: "Arthritis Left Hand"
• Calculer le TF-IDF de la requête
Rheumatoid Arthritis Factor Left Right Elbow Hand Hip Wrist
Q 01/1 *
log(5/5)0
1/1 * log(5/4)
0 01/1 *
log(5/2)0 0
Mot IDF
Rheumatoid = log (5/5)
Arthritis = log (5/5)
Factor = log (5/4)
Left = log (5/4)
Right = log (5/1)
Elbow = log (5/1)
Hand = log (5/2)
Hip = log (5/1)
Wrist = log (5/1)
Rheumatoid Arthritis Factor Left Right Elbow Hand Hip Wrist
Q 0.00 0.00 0.00 0.10 0.00 0.00 0.40 0.00 0.00
Copyright (c) 2018. Data Science Dojo
70Copyright (c) 2018. Data Science Dojo
TF-IDF d’un exemple de recherche
Document Rheumatoid Arthritis Factor Left Right Elbow Hand Hip Wrist
D1 0.00 0.00 0.05 0.05 0.00 0.35 0.00 0.00 0.00
Document Rheumatoid Arthritis Factor Left Right Elbow Hand Hip Wrist
Q 0.00 0.00 0.00 0.10 0.00 0.00 0.40 0.00 0.00
0*0 + 0*0 + 0.05*0 + 0.05*0.1 + 0*0 + 0.35*0 + 0*0.4 + 0*0 + 0*0
SQRT(0.05^2) * SQRT(0.1^2 + 0.4^2)= 0.24Cos(D1,Q) =
Copyright (c) 2018. Data Science Dojo
71Copyright (c) 2018. Data Science Dojo
Liste finale ordonnée
Document cos(D,Q) Text
D2 1.000 Rheumatoid arthritis with rheumatoid factor of left hand
D5 0.972 Rheumatoid arthritis with rheumatoid factor of right hand
D1 0.237 Rheumatoid arthritis with rheumatoid factor of left elbow
D3 0.237 Rheumatoid arthritis with rheumatoid factor of left hip
D4 0.237 Rheumatoid arthritis with rheumatoid factor of left wrist
Requête: "Arthritis Left Hand"
Copyright (c) 2018. Data Science Dojo
72Copyright (c) 2018. Data Science Dojo
N-grammes
• Nos représentations jusqu'à présent étaient des termes simples, appelés unigrammes ou 1-grammes.
• Il existe également les bigrammes, trigrammes, 4-grammes, 5-grammes, etc.
• N-grammes nous permet d’étendre les modèles de sacs-de-mots pour inclure la classification du mot
Copyright (c) 2018. Data Science Dojo
73Copyright (c) 2018. Data Science Dojo
N-grammes
• Prenez le document exemple:• “If it looks like a duck, swims like a duck, and quacks like a duck, then it probably
is a duck.”
• Un prétraitement standard (suppression des mots insignifiants, racinisation, etc..) transformerait ce qui précède en ce qui suit :• “look like duck swim like duck quack like duck probabl duck”
• Ce que nous pourrions représenter par la matrice de fréquences de termes :
look like duck swim quack probably
1 3 4 1 1 1
Copyright (c) 2018. Data Science Dojo
74Copyright (c) 2018. Data Science Dojo
Bigrammes
• Etant donné le document traité,
“look like duck swim like duck quack like duck probabl duck”
Le bigrammes pour les données traitées donnerait:
NOTE – Nous avons maintenant plus que doublé la taille totale de notre matrice !
look_like like_duck duck_swim swim_like duck_quack quack_like duck_probabl probabl_duck
1 3 1 1 1 1 1 1
Copyright (c) 2018. Data Science Dojo
75Copyright (c) 2018. Data Science Dojo
QUESTIONS
75Copyright (c) 2018. Data Science Dojo
Expérimentation en ligne et A/B testing
Programme
• Introduction• Qu’est-ce que le A/B testing?
• Quelques test A/B intéressants
• Fondamentaux• Terminologie.
• Test d’hypothèses
• Mesures de l’A/B testing
• Etapes d’expérimentation
Copyright (c) 2018. Data Science Dojo 77
INTRODUCTION
Copyright (c) 2018. Data Science Dojo 78
In God we trust. All others bring data.W. E. Deming
Copyright (c) 2018. Data Science Dojo 79
Nous croyons/faisons confiance à Dieu. Tous
les autres représentent des données. (NDT)
Qu’est-ce que le test A/B?
Copyright (c) 2018. Data Science Dojo 80
Qu’est-ce que le test A/B?
R
Copyright (c) 2018. Data Science Dojo 81
Qu’est-ce que le test A/B?
• Est-ce que le changement d’Icône me donnerait :• Un meilleur taux de clics
• Un Taux de rebond plus faible
• Des revenus plus élevés par utilisateur
Copyright (c) 2018. Data Science Dojo 82
Campagne présidentielle 2012 d’Obama
Copyright (c) 2018. Data Science Dojo 83
Campagne présidentielle 2012 d’Obama
Source: http://www.nathanielward.net/2011/06/see-ab-testing-in-action-on-barack-obamas-reelection-website/
Maximiser les inscriptions et les dons
Copyright (c) 2018. Data Science Dojo 84
Tests A/B sur les mails et les newsletters
Les tests sont effectués sur plusieurs critères
➢La Ligne d’objet
➢Les noms d’expéditeurs(From)
➢Dates d’expédition
➢Heures d’expédition
Copyright (c) 2018. Data Science Dojo 85
Test d’un bouton de passage à l’acte
Quel bouton augmente le nombre de clicks?
Version A Version B
Copyright (c) 2018. Data Science Dojo 86
Test d’un bouton de passage à l’acte
Version A Version B
Le bouton rouge a augmenté de 21% les clics
Copyright (c) 2018. Data Science Dojo 87
Jocelyn ou Michael?
Taux de conversion: Qui donne le meilleur taux de conversion?
Copyright (c) 2018. Data Science Dojo 88
Jocelyn or Michael?
Michael a augmenté de 21% le taux de conversion
Copyright (c) 2018. Data Science Dojo 89
CALIFORNIA CLOSET
Version A Version B
Quelle version a augmenté les leads de 115% ?
Copyright (c) 2018. Data Science Dojo 90
La Version A a augmenté les leads de 115%.
C’est la raison pour laquelle il faut tester …!
CALIFORNIA CLOSET
Version A Version B
Copyright (c) 2018. Data Science Dojo 91
Enregistrement des donneurs d’organes
Nombre de personnes optant pour le don d’organes
Copyright (c) 2018. Data Science Dojo 92
Quelle version a augmenté les inscriptions de 50% ?
Version A Version B
Enregistrement des donneurs d’organes
Nombre de personnes optant pour le don d’organes
Copyright (c) 2018. Data Science Dojo 93
La Version B a augmenté les inscriptions de 50%Chaque nouveau donneur pourrait sauver jusqu’à 9 vies!
Version A Version B
Test A/B sur les sites de soins de santé
Quelle photo augmente les demandes de RDV ?
A B
Pas de différence statistique sur les demandes de RDV avec le médecin
FONDAMENTAUX
Copyright (c) 2018. Data Science Dojo 96
Problème Objectif du test A/B
• Savoir ce que l’utilisateur veut de manière inconsciente ou pas.
• Aide à se rendre compte rapidement des lacunes et permet d’avancer
• Les utilisateurs sont complexes et notre intuition est souvent fausse
• Déployer une fonctionnalité à tous les utilisateurs en même temps est risqué
Pourquoi utilises-t-on les tests A/B ?
On s’attend toujours à ce que l’Impact soit positif,
mais les résultats rendent souvent humble
Copyright (c) 2018. Data Science Dojo 97
Tests multivariés
Copyright (c) 2018. Data Science Dojo 98
Tests A/B contre Multivariables
Tests A/B Tests multivariables
Usage communCompare deux designs vraiment
différents l’un de l’autre
Plusieurs petites variables sont à décider:
➢ Deux couleurs de boutons avec trois
titres différents
Également appelé test factoriel
complet
Avantages
➢ Simple en design
➢ Un petit échantillon n’est pas
un problème
Plusieurs combinaisons testées en une
seule fois.
LimitationsUne seule alternative est
possible
➢ Taille d’échantillonnage plus importante
➢ Complexe
➢ Il faut bien comprendre et maitriser les
interactions
Copyright (c) 2018. Data Science Dojo 99
Test de stabilité / sécurité de médicaments
Les chercheurs en pharmacie expérimentent des variantes d'un médicament chez les animaux avant que le médicament ne soit approuvé pour une utilisation clinique chez l'homme
100Copyright (c) 2018. Data Science Dojo
20 mg 25 mg 29 mg 40 mg
Médicament contre l’acidité et le reflux gastrique (Nexium)
Les sujets traités avec une dose plus élevée (40 mg) présentaient moins d'érosion de l'œsophage
(réduction du reflux acide)
TERMINOLOGIE
Copyright (c) 2018. Data Science Dojo 101
Contrôle and Traitement
Contrôle
Expérience par défaut, la façon dont sont les choses à l’heure actuelle.
IllustrationExemple: Aspect actuel de votre bouton
‘Buy Now’
Exemple: Changer la couleur du bouton :
la passer du vert au bleu
TraitementLe changement que l’on veut mener.
Copyright (c) 2018. Data Science Dojo 102
Mesures utilisées pour les tests A/B
➢ Moteurs de rechercheRequêtes/UU, Durée de la session, Sessions/UU, Nombre de vues, taux de rebond
➢ Détaillants en ligneTaux de conversion, revenu/UU, Valeur Moyenne du Panier et ainsi de suite
➢ Autres sites web :Taux de clics, souscriptions à la newsletter
Chaque affaire est différente
Copyright (c) 2018. Data Science Dojo 103
Hypothèse nulle ou alternative
• Hypothèse nulle (Ho)• Contrôle et traitements sont similaires (en termes de
paramètres que nous examinons)
• Hypothèse alternative (Ha)• Le traitement est distinct du contrôle
Copyright (c) 2018. Data Science Dojo 104
Hypothèse nulle ou alternative
• Hypothèse nulle(Ho)
• Le bouton Bleu et le bouton Vert ont un taux de clics identique
• Hypothèse Alternative(Ha)
• Chaque bouton a un taux de clics diffèrent
Contrôle Traitement
Copyright (c) 2018. Data Science Dojo 105
Erreurs de Type I et Type II
Erreur de Type I :La probabilité de rejeter à tort une hypothèse nulle.
Erreur de Type II :La probabilité d'accepter à tort une hypothèse nulle
Vérité du Terrain
Résu
ltat
de l
’exp
éri
en
ce
Type I error
Correct decision
Correct decision
Type II error
Reje
tte
Ho
Ne r
eje
tte
pas
Ho
Ho est vraie Ho est fausse
Copyright (c) 2018. Data Science Dojo 106
POUVEZ VOUS ME DIRE AVEC DES MOTS SIMPLES
107
Le Cuisinier et le détecteur de fumées
• Hypothèse nulle(Ho): Il n’y a pas de feu
• Hypothèse alternative (Ha): Il y a du feu
Copyright (c) 2018. Data Science Dojo 108
Le Cuisinier et le détecteur de fumées
• Erreur de Type I : Il n'y a pas de feu mais le détecteur de fumée se déclenche.
• Le cuisinier retire l’alarme pour éviter les erreurs de type I.
• Cela augmente le risque d’Erreur de type II (c.-à-d. Un incendie sans alarme)
Copyright (c) 2018. Data Science Dojo 109
Le garçon qui criait au Loup
• Hypothèse nulle (Ho): Il n’y a pas de loup
• Hypothèse alternative (Ha): Il y a un loup
Copyright (c) 2018. Data Science Dojo 110
Le garçon qui criait au Loup
• Erreur de Type I : Les villageois croient le garçon quand il n’y a pas de loup
• Erreur de Type II : Les villageois ne croient pas le garçon quand il y a réellement un loup
Copyright (c) 2018. Data Science Dojo 111
Intervalle de confiance
Problème: sur une échelle de 5 points, un produit a une note moyenne de 4,32 et un écart-type de 0,845 sur la base de 62 évaluations. Quel est l'intervalle de confiance à 95%?
MoyenneEcart-type
Taille de l’échantillonValeur critique
Intervalle de Confiance 95%= ത𝑋 ± 2.0𝜎
𝑛
Copyright (c) 2018. Data Science Dojo 112
Intervalle de confiance
Moyenne ത𝑋 = 4.32
Ecart-type 𝜎 = 0.845
Erreur standard(SE) = 𝜎
𝑛=
0.845
𝑛=
0.845
62= 0.11
La marge d’erreur est de 2.0 x 0.11 = 0.22
L’intervalley de confiance est :
4.32 – 0.22 = 4.10
4.32 + 0.22 = 4.54 Intuition - Nous sommes
convaincus à 95% que l’évaluation
moyenne de tous les clients se
situe entre 4,10 et 4,54
Copyright (c) 2018. Data Science Dojo 113
Intuition de l’Intervalle de confiance
𝜇 = 4.4
Disons que nous savons
avec certitude que
l’évaluation moyenne des
produits par tous les clients
est de 4,4.
Ceci est connu comme la
moyenne de la population et
est désigné par 𝜇
En outre, nous décidons de
prendre 20 échantillons
aléatoires de commentaires
de clients de la population
(c’est-à-dire de tous les avis)
Si nous calculons
l'intervalle de
confiance à 95% pour
les 20 échantillons,
nous savons que 19
d'entre eux
contiendront
généralement 𝜇.
Copyright (c) 2018. Data Science Dojo 114
Calcul de l’intervalle de confiance
Répartition
normale
Répartition
des avis des
étudiants
Notre example!
Copyright (c) 2018. Data Science Dojo 115
Test A/A
• Comparons la même expérience sur différents ensembles aléatoires d'utilisateurs
• Utilisé valider de la configuration
Contrôle Traitement
Copyright (c) 2018. Data Science Dojo 116
Etapes de l’expérimentation
Planification
•Choix des facteurs, niveaux,
Taille d’échantillon (Combien de
temps dure l’expérience)
•A quelles questions concrètes
doit-on répondre ?
•Mesures et résultats escomptés
•Qui est pris en compte dans l’expérience ?
Codage et
Journalisation
•Paramétrage et Mise en place du
test et des outils
Test A/A
•Pour s’assurer que le
paramétrage est correct.
Tests A/B et/ou
multivariante
Analyse et
interprétation
•Parfois cela relève de l’Art
•Effet de nouveauté
•Saisonnalité, segmentation etc.
Prendre une décision
•Envoyer ou ne pas envoyer
Copyright (c) 2018. Data Science Dojo 117
Catégories de Mesures
Court-terme Moyen terme Long-terme
Exemples➢ TDC (CTR) ➢ PVs➢ Taux de rebonds
➢ PVs/utilisateur/jour➢ TDC/utilisateur
/jour➢ Moyenne de temps
de session
Jours avec au moins une visite:➢ Temps total sur le
site➢ Nombre de revisites
par utilisateur
Qu’est-ce qui est mesuré?
Impact immédiat ou quasi immédiat
Visite selon les heures jusqu’à une journée
Fidélité
Copyright (c) 2018. Data Science Dojo 118
Pièges de l’expérimentation en ligne
1.Choisir un critère d'évaluation global (OEC) pour lequel il est facile de battre le contrôle
2.Calcul incorrect des intervalles de confiance
3.Utilisation de formules statistiques standard pour le calcul de la variance et de la puissance
4.Combinaison de mesures sur des périodes où les proportions attribuées au contrôle et au traitement varient ou sur des sous-populations échantillonnées à des taux différents
5.Négliger de filtrer les bots
6.Ne pas valider chaque étape du pipeline d'analyse et des composants OEC
7.Oublier de contrôler toutes les différences et en supposer que les humains puissent garder les variantes synchronisées
Copyright (c) 2018. Data Science Dojo 119
Outils de test A/B
Copyright (c) 2018. Data Science Dojo 120
Des questions?
Copyright (c) 2018. Data Science Dojo 121
BLAGUE
122
Avez-vous entendu la dernière blague sur les statistiques?
Probablement....
Copyright (c) 2018. Data Science Dojo 123
Combien de statisticiens faut-il pour changer une ampoule?
1 – 3. α=0.05 (.95 confiance)
Copyright (c) 2018. Data Science Dojo 124
Comment appelez-vous un goûter avec plus de 30 statisticiens?
Une z-goûter
Copyright (c) 2018. Data Science Dojo 125
Avez-vous entendu parler du statisticien qui a été jeté en prison?
Il a maintenant zéro degrés de liberté.
Copyright (c) 2018. Data Science Dojo 126
Trois statisticiens partent à la chasse ensemble. Au bout d'un moment, ils repèrent un lapin solitaire.
Le premier statisticien vise et dépasse. Les deuxième vise et reste court.
Le troisième tire et crie “On l’a eu!"
Copyright (c) 2018. Data Science Dojo 127
La femme d'un statisticien a des jumeaux. Il était ravi et il a appelé à son prête pour le communiquer la bonne nouvelle.
"Excellent!", A déclaré le prête. "Amenez-les à l'église dimanche et nous les baptiserons."
"Non", répondit le statisticien. "Faisons simplement baptiser un. Nous garderons l'autre comme contrôle."
Copyright (c) 2018. Data Science Dojo 128
Est-ce qu’un medicament est efficace?
PLACEBO MEDICAMENT
Un test A/B est souvent utilisé pour tester l'efficacité d'un médicament, contre un placebo, afin de contrôler l'effet placebo dans le médicament.
CONTRÔLE MEDICAMENT
Exemples:
➢ Bêta bloquant➢ Pression artérielle diastolique (PAD)➢ Polypes: on étudiera ce cas plus spécifiquement
Copyright (c) 2018. Data Science Dojo 129
Le jeu de données de Polypes (1/3)
▪ Données provenant d'un essai contrôlé par placebo
d'un anti-inflammatoire non stéroïdien dans le
traitement de la polypose andénomateuse familiale
(PAF).
▪ L'essai a été interrompu après qu'une analyse
intermédiaire prévue ait suggéré des preuves
convaincantes en faveur du traitement.
number treat age
63 placebo 20
2 drug 16
28 placebo 18
17 drug 22
61 placebo 13
1 drug 23
7 placebo 34
15 placebo 50
44 placebo 19
25 drug 17
3 drug 23
28 placebo 22
10 placebo 30
40 placebo 27
33 drug 23
46 placebo 22
50 placebo 34
3 drug 23
1 drug 22
4 drug 42Extrait du jeu de données
▪ Nous nous intéressons ici à évaluer si le nombre de
polypes coliques à 12 mois est lié au traitement et à
l'âge du patient.
Copyright (c) 2018. Data Science Dojo 130
Le jeu de données de Polypes (2/3)
Age
#po
lyp
ses
#polypses according to age for each treatment
Copyright (c) 2018. Data Science Dojo 131
## load the polyps data
polyps <- read.csv("polyps.csv")
## convert polyps into factor
polyps$treat <- as.factor(polyps$treat)
## creating the boxplot
boxplot(polyps$number ~ polyps$treat,main="Number of polypses for each treatment",
xlab="treatment",ylab="number of polypses")
## creating scatterplot between number and age
plot(number ~ age, data=polyps, pch=as.numeric(polyps$treat),col=c(3,4))legend(40,40,
legend=levels(polyps$treat),pch=1:2,col=c(3,4),bty="n")
Le jeu de données de Polypes (3/3)
nb_polyps_placebo [1] 35.63636
Which treatment is more efficient?
Mean number of polyps per individual
Welch Two Sample t-test * *used to test the hypothesis that two populations have equal means
Copyright (c) 2018. Data Science Dojo 132
polyps_drug <- polyps[polyps$treat=="drug",]
polyps_placebo <- polyps[polyps$treat=="placebo",]
## calculating the number variable
nb_polyps_placebo = mean(polyps_placebo$number)
## using the t-test to assess whether the number of colonic polyps is related to treatment
and age of the patient.
t.test(polyps_drug$number,polyps_placebo$number,alternative="two.sided",conf.level=0.95)
Systèmes de recommandation
Vue d'ensemble
• Introduction• Collaborative vs basé sur le contenu
• Comment travaillent-ils?• Classement par similarité
• Prédiction
• Évaluation des Advantages/Disadvantages
• Exemple en employant Azure ML
Copyright (c) 2018. Data Science Dojo 134
INTRODUCTION
Copyright (c) 2018. Data Science Dojo 135
Systèmes de recommandation
• Des systèmes automatisés pour filtrer et recommander des entités (produits, publicités, personnes) en fonction des intérêts et des goûts des utilisateurs.
• Conçu pour résoudre le problème de surcharge d'informations
Copyright (c) 2018. Data Science Dojo 136
Pourquoi les systèmes de recommandation?
• Pour le clients• Limiter l'ensemble de choix
• Découvrir de nouvelles choses intéressantes
• Gagner du temps
• Pour le business• Augmenter le nombre d'éléments vendus
• Vendre plus d'articles divers
• Mieux comprendre ce que veut l'utilisateur
Copyright (c) 2018. Data Science Dojo 137
Recommandeurs collaboratifs vs basés sur les contenus
Recommandeurs
collaboratifs
Article Note
i1 0.6
i2 0.8
i3 0.3
Recommendations
Utilisateurs
ÉlémentsRecommandeurs basés
sur les contenus
Évaluations
Caractéristiques
(Profils)
Copyright (c) 2018. Data Science Dojo 138
Recommandeurs collaboratifs vs basés sur les contenus
139Copyright (c) 2018. Data Science Dojo
Collaboratifs
• ‘Donnez-moi des éléments que les personnes comme moi aiment'
• Utilisateurs, Élément, & Notes
Emploi notes de Utilisateurs similaires pour recommander articles pas vus
Basés sur les contenus
• ‘Donnez-moi des élémentsimilaires aux éléments que j’aime'
• Profils d’Utilisateur & Éléments
Utiliser le chevauchement des caractéristiques d'utilisateur et d'élément pour recommander des éléments invisibles
Exemple: Netflix
Copyright (c) 2018. Data Science Dojo 140
Exemple: Médias sociaux et recherche
Copyright (c) 2018. Data Science Dojo 141
Example: Pandora
Copyright (c) 2018. Data Science Dojo 142
Exemple: Amazon
Copyright (c) 2018. Data Science Dojo 143
Estructure de données
• Quel genre de données?• Collaboratif
• Notes des élements mises pour les utilisateurs
• Basé sur le contenu• Profils caractéristiques des Utilisateurs et des Objets
Copyright (c) 2018. Data Science Dojo 144
Estructure de données – Collaboratif
Alice
Bob
Chris
Donna
5 3 4 4 ?
3 1 2 3 3
4 3 4 3 5
3 3 1 5 4
1 5 5 2 1Evi
Copyright (c) 2018. Data Science Dojo 145
Estructure de données – Basé sur le contenu
Élement/
Utilisateur
Drama? Comedie? Aventure? Romance?
The Godfather 5 1 2 1
Titanic 4 3 2 5
Lord of the Rings 4 2 5 1
Dumb & Dumber 1 5 2 2
Spirited Away 5 3 5 2
Alice 5 4 1 4
Bob 3 1 1 1
Chris 4 2 5 2
Copyright (c) 2018. Data Science Dojo 146
Basé sur le contenu: Profils d’utilisateur
• Fourni par l’utilisateur• Demander des préférences
• Besoin des comptes
• Taux d'achèvement souvent bas
• Génération automatisée• Les Cookies suivent le comportament
• Pas de persistance utilisateur (souvent)
Copyright (c) 2018. Data Science Dojo 147
Basé sur le contenu: Profils des élements
• Etiquetage expert• Attribuer des mots clés en fonction du contenu
• Peut être fourni par des créateurs/distributeurs
• Crowd sourcing?
• Indexation automatisée• Utilisé pour les documents texte
• Basé sur le contenu en mots du jeu de documents
• Aucune connaissance experte impliquée
Copyright (c) 2018. Data Science Dojo 148
SIMILARITÉ
Copyright (c) 2018. Data Science Dojo 149
Mesures de similarité
• Étant donné deux vecteurs Ԧ𝑥 et Ԧ𝑦 avec 𝑛components chacun• Notes de l’Utilisateur 𝑥 et de l’Utilisateur 𝑦
• Note de l’Élement 𝑥 et de l’Élement 𝑦
• Profils de l’Utilisateur 𝑥 et de l’Élement 𝑦
• Dans quelle mesure sont similaires les Utilisateurs/Élements?
Copyright (c) 2018. Data Science Dojo 150
Mesures de similarité
▪ Correlation de Pearson
▪ Similarité de Cosine
𝑠𝑖𝑚 Ԧ𝑥, Ԧ𝑦 =Ԧ𝑥 ∙ Ԧ𝑦
Ԧ𝑥 ∗ | Ԧ𝑦|=
σ𝑖=1𝑛 𝑥𝑖𝑦𝑖
σ𝑖=1𝑛 𝑥𝑖
2 σ𝑖=1𝑛 𝑦𝑖
2
𝑠𝑖𝑚 Ԧ𝑥, Ԧ𝑦 =σ𝑖=1𝑛 (𝑥𝑖 − ҧ𝑥)(𝑦𝑖 − ത𝑦)
σ𝑖=1𝑛 𝑥𝑖 − ҧ𝑥 2 σ𝑖=1
𝑛 𝑦𝑖 − ത𝑦 2
Copyright (c) 2018. Data Science Dojo 151
Collaboration basée sur l'utilisateur
• But: Prédire la note de l’utilisateur 𝑢 du film 𝑚 qu’iln’a pas vu• Trouvez les n Utilisateurs les plus similaires à 𝑢 qui ont
vu le film 𝑚
• Utilisez leurs évaluations pour prédire les notes 𝑢 pour le film 𝑚
Copyright (c) 2018. Data Science Dojo 152
Collaboration basée sur l'utilisateur
Alice
Bob
Chris
Donna
5 3 4 4 ?
3 1 2 3 3
4 3 4 3 5
3 3 1 5 4
1 5 5 2 1Evi
sim = ?
sim = ?
sim = ?
sim = ?
Quelle métrique devrions-nous utiliser?
Copyright (c) 2018. Data Science Dojo 153
Collaboration basée sur l'utilisateur
Alice
Bob
Chris
Donna
5 3 4 4 ?
3 1 2 3 3
4 3 4 3 5
3 3 1 5 4
1 5 5 2 1Evi
sim=0.85
sim=0.90
sim=0.70
sim=0.79
La corrélation de Pearson corrige des lignes de base variées
Copyright (c) 2018. Data Science Dojo 154
Basé sur le contenu: similarité
• But: Renvoyer une liste de recommandations d'éléments pour chaque utilisateur• Trouver la similarité de chaque utilisateur avec chaque
élément
• Commander des articles par similitude
Copyright (c) 2018. Data Science Dojo 155
Basé sur le contenu: similarité
Élement/
Utilisateur
Drama? Comedie? Aventure? Romance?
The Godfather 5 1 2 1
Titanic 4 3 2 5
Lord of the Rings 4 2 5 1
Dumb & Dumber 1 5 2 2
Spirited Away 5 3 5 2
Alice 5 4 1 4
Bob 3 1 1 1
Chris 4 2 5 2
Copyright (c) 2018. Data Science Dojo 156
Basé sur le contenu: similarité
0.83 0.96 0.72 0.79 0.83
0.99 0.86 0.85 0.59 0.91
0.87 0.82 0.99 0.69 0.99
Alice
Bob
Chris
• La similarité de Cosine n'efface pas les
lignes de base
• Prédit l'ordre, pas l'exactitude
Copyright (c) 2018. Data Science Dojo 157
PREDICTIONS
Copyright (c) 2018. Data Science Dojo 158
Collaborative: Predictions
• Utilisez la "fonction d'agrégation“
• Choisissez N voisins les plus proches de l'utilisateur 𝑢
• Combinez la note de chaque voisin 𝑗 sur l’élement 𝑖(𝑟𝑗,𝑖)
• Simple
• 𝑟𝑢,𝑖 =1
𝑁σ𝑗=1𝑁 𝑟𝑗,𝑖
• Pondéré & Centré• 𝑟𝑢,𝑖 = 𝒓𝑢 + 𝛼σ𝑗=1
𝑁 𝑠𝑖𝑚(𝑗, 𝑢)(𝑟𝑗,𝑖 − ഥ𝑟𝑗)
Copyright (c) 2018. Data Science Dojo 159
Basé sur le contenu: Prédictions
• Simple• Classement par ordre de similarité
• Techniques de récupération d'informations• Bien étudié, grande diversité de modèles
• Algorithmes de classification
Copyright (c) 2018. Data Science Dojo 160
ÉVALUATION
Copyright (c) 2018. Data Science Dojo 161
Évaluation de la recommandation
▪ L’Erreur absolue moyenne (MAE)
calcule l'écart entre les évaluations
prévues et les notes réelles
▪ L’Erreur quadratique moyenne
(RMSE) est similaire à MAE, mais
met davantage l'accent sur une
plus grande déviation
n
iii rp
nMAE
1
||1
n
iii rp
nRMSE
1
2)(1
Copyright (c) 2018. Data Science Dojo 162
10
2
3
7
8
Evaluer un classificateur
Copyright (c) 2018. Data Science Dojo 163
Recommandation - Modèle 1
10
2
3
7
8
7
2
3
6
8
10
--
7
3
2
--
2
0
3
--
3
0
7
--
6
1
8
--
8
0
MAE Totale = 4/5 = 0.8
Copyright (c) 2018. Data Science Dojo 164
10
2
3
7
8
5
1
2
3
4
10
--
5
5
2
--
1
1
3
--
2
1
7
--
3
4
8
--
4
4
Total MAE = 15/5 = 3
Recommandation - Modèle 2
Copyright (c) 2018. Data Science Dojo 165
10
2
3
7
8
5
1
2
3
4
MAE Totale = 3
7
2
3
6
8
MAE Totale = 0.8
Quel Recommandeur? - modèle 1 ou modèle
Copyright (c) 2018. Data Science Dojo 166
10
2
3
7
8
8
7
6
3
2
5
4
3
2
1
Quel Recommandeur? - modèle 1 ou modèle
Copyright (c) 2018. Data Science Dojo 167
Recommandeur Modèle 1 vs. Modèle 2
10
2
3
7
8
5
1
2
3
4
Modèle de ClassificationSuivi la même classification pour
lequelle a été entrainé
7
2
3
6
8
Modèle de prédicteurValeur MAE inférieure
Copyright (c) 2018. Data Science Dojo 168
Métriques
▪ L’ordre est importante, pas la valeur de notation exacte
• Pertinence graduée
• Demander aux humains d'attribuer des scores aux résultats possibles
• Les résultats idéaux seront classés par pertinence, de haut en bas
▪ Le Gain cumulé actualisé (DCG)
• Facteur de réduction logarithmique
N
i
iN
i
relrelDCG
22
1log
Où:
• N est la longueur de la liste de recommandation
• reli renvoie la pertinence de la recommandation à la
position i
Copyright (c) 2018. Data Science Dojo 169
Exemple DCG
170Copyright (c) 2018. Data Science Dojo
En suivant la formule ci-dessus, le
DCG pour cet ensemble de notes de film est:
N
i
iN
i
relrelDCG
22
1log
10
2
3
7
8
Metrics
▪ L’Idéal gain cumulé actualisé (IDCG)
• La valeur DCG lorsque les articles sont parfaitement ordonnés
▪ Le gain cumulatif actualisé normalisé (nDCG)
• Normalisé à l'intervalle [0..1]
N
i
iN
i
relrelIDCG
22
1log
N
NN
IDCG
DCGnDCG
Copyright (c) 2018. Data Science Dojo 171
AVANTAGES /DÉSAVANTAGES
Copyright (c) 2018. Data Science Dojo 172
Avantages
Collaboratif
• Large applicabilité
• Sérendipité
• Simple
Basé sur le contenu
• Aucune communauté nécessaire
• Transparence
• Bon démarrage à froid
Copyright (c) 2018. Data Science Dojo 173
DÉSAVANTAGES
174Copyright (c) 2018. Data Science Dojo
Collaboratif
• Mauvais Démarrage à froid
• Mouton gris• Comptes partagés
• Shilling
• Mauvaise mise à l'échelle
Basé sur le contenu
• Profils limités• Nouveaux utilisateurs• Coût de l'étiquetage
expert
• Sur-spécialisation• Manque de diversité
Top Related