Améliorer la performance du modèle avec les méthodes...

Post on 14-Aug-2020

1 views 0 download

Transcript of Améliorer la performance du modèle avec les méthodes...

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é