Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
1 hour to browse the algos stars of machine learning. No code, big concepts with a little math. Linear regression, classification (logistic regression / svm / tree), neural network, deep learning...
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
1 hour to browse the algos stars of machine learning. No code, big concepts with a little math. Linear regression, classification (logistic regression / svm / tree), neural network, deep learning...
Définition du data mining, intervention du Data Mining dans une chaîne décisionnelle, applications, méthodes de travail, processus KDD (ECD, Extraction de connaissances à partir de Données), méthode SEMMA de SAS, méthode CRISP-DM, etc.
Les 10 plus populaires algorithmes du machine learningHakim Nasaoui
Une présentation très simple montre les 10 algorithmes d’apprentissage automatique les plus populaires, qui donnent leurs définitions, leurs avantages, leurs inconvénients.
La surcharge cognitive d'un utilisateur due à une trop grande quantité d'information est un problème majeur des systèmes hypermédia. Les systèmes de recommandation ont été introduits pour résoudre ce problème et sont maintenant utilisés couramment pour améliorer l'expérience utilisateur sur le Web. Cet exposé présente le fonctionnement des systèmes de recommandations, les différentes approches de la littérature, et l'évaluation des recommandations. Quelques unes de mes contributions sont abordées et des perspectives du domaine concluent cette présentation.
Réduction de la dimension, Diagonalisation, études des valeurs propres, centrage et réduction, techniques de choix des axes factoriels, critère de coude, critère de Kaiser, plans factoriels, carte des individus, cercle de corrélation
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Définition du data mining, intervention du Data Mining dans une chaîne décisionnelle, applications, méthodes de travail, processus KDD (ECD, Extraction de connaissances à partir de Données), méthode SEMMA de SAS, méthode CRISP-DM, etc.
Les 10 plus populaires algorithmes du machine learningHakim Nasaoui
Une présentation très simple montre les 10 algorithmes d’apprentissage automatique les plus populaires, qui donnent leurs définitions, leurs avantages, leurs inconvénients.
La surcharge cognitive d'un utilisateur due à une trop grande quantité d'information est un problème majeur des systèmes hypermédia. Les systèmes de recommandation ont été introduits pour résoudre ce problème et sont maintenant utilisés couramment pour améliorer l'expérience utilisateur sur le Web. Cet exposé présente le fonctionnement des systèmes de recommandations, les différentes approches de la littérature, et l'évaluation des recommandations. Quelques unes de mes contributions sont abordées et des perspectives du domaine concluent cette présentation.
Réduction de la dimension, Diagonalisation, études des valeurs propres, centrage et réduction, techniques de choix des axes factoriels, critère de coude, critère de Kaiser, plans factoriels, carte des individus, cercle de corrélation
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Proof of concept description for music (track) recommendations with NoSQL graph database Neo4j. This is not a Machine Learning-related PoC using Collaborative Filtering since the latter is just a piece in the songs similarity puzzle (user preferences cooccurrence distance). This PoC demonstrates the speed of Neo4j, its secret: the data structure, no SQL "select" nor "joins" are needed. Neo4j uses native graph storage and native graph processing whcih benefits from traversal performance.
1. kNN: k plus proches
voisins
“DIS MOI QUI SONT TES AMIS, JE TE DIRAIS QUI TU ES”
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 1
2. Sommaire
• A retenir
• Principe pour la discrimination (classification)
• Principe pour la prévision (regression)
• Notion de distance
• Conseil
• Dilemme biais-variance
• R packages
• Exercices
• Bibliographie
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 2
3. A retenir (1/2)
• kNN: pour effectuer une discrimination ou une prévision
• Méthode d’apprentissage* supervisée
• Méthode non paramétrique
• (*) lazy learner ou instance-based learning:
• aucun modèle n’est induit à partir d’exemples
• Insensible aux points aberrants
• On réexécute l'algorithme pour chercher de nouveaux voisins à chaque fois que l'on veut classer
un nouvel individu.
• Forte consommation en CPU
• Big Data : spark-knn disponible; SparkR ?
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 3
4. A retenir (2/2)
• Le voisinage d'un point est l'ensemble des autres points qui sont à une certaine distance de lui
• Les résultats dépendent de deux critères:
• Le nombre k: combien de voisins à retenir ?
• Quelle distance considérée ?
• Applications
• discriminer de documents indexés dans un moteur de recherche
• géomarketing: anticiper le CA d’un nouveau magasin basé sur d’autres points de vente semblables
• recommandations de produit à un individu basées sur d’autres individus semblables
• appétence, attrition
• …
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 4
5. Principe pour la discrimination
• La discrimination d’un individu se ramène à un calcul de probabilité simple: la nombre de
voisins appartenant à la classe sur le total de k voisins
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 5
k=3
individu à classer
individu appartenant à la classe cible « c1 »
3 cas
possibles
33%
66%
100%
6. Principe pour la discrimination
• La discrimination d’un individu se ramène à un calcul de probabilité simple: la nombre de
voisins appartenant à la classe sur le total de k voisins
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 6
k=3
3 cas
possibles
33%
66%
100%
Attention aux classes (ou évènements) rares ! Exemple: si le
nombre d’individus appartenant à c1 ne représente que 7%
de vos données d’apprentissage, alors prenez un k large. Si
vous souhaitez avoir une chance d’observer 10 individus de
c1 dans chaque voisinage alors prenez k = 10/0.07 = 142.
7. Principe pour la prévision
• La prévision d’un individu se ramène à un calcul de moyenne (peut être pondérée) des valeurs
de la réponse quantitative de ses k voisins
• Si l’on suppose que les k=3 voisins les plus proches sont ceux indiqués ci-dessus,
alors la prévision de Y pour l’individu cible sera la moyenne de (110, 80, 100)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 7
k=3
X1 X2 Y (réponse)
150 30 100
90 35 110
100 55 70
80 34 80
80 30 100
ensemble d’apprentissage
X1 X2 Y
85 33 ?
ensemble test
individu
8. Notion de distance
• Propriétés de base d'une distance :
• d(A,A) = 0
• d(A,B) = d(B,A)
• d(A,B) ≤ d(A,C) + d(C,B)
• Types de distances
• Euclidienne
• Cosinus
• Manhattan
• …
• Implémentation
• R knn() euclidienne
• distance customisée
• voir ?dist
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 8
Entre 2 vecteurs de Rn
Entre 2 vecteurs de R2
9. Conseil (1/2)
• Afin de calculer la distance entre observations les variables X doivent être quantitatives
• Par conséquent, en cas de variables X qualitatives (factors) on va créer des variables-modalité
• pour une variable qualitative avec m modalités on définit m-1 variables-modalité
• Une variable-modalité ne possède que 2 valeurs:
• 0 si l’observation ne prend pas la valeur de la modalité
• 1 si l’observation prend la valeur de la modalité
• Exemple:
• soit la variable qualitative X1 (température) avec les modalités {« chaud », « tiède », « froid »}
• on crée alors les 2 variables modalités suivantes:
• chaud = 0 ou 1
• tiède = 0 ou 1
• si une observation prend la modalité « froid » alors les variables-modalité prennent les valeurs
• chaud=0
• tiède=0
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 9
10. Conseil (2/2)
• Normalisation pour X quantitatif
• min-max
• données centrées et réduites: voir ?scale
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 10
normalize <- function(x) {
return ((x - min(x)) / (max(x) - min(x)))
}
11. Dilemme biais - variance
• La complexité de kNN est déterminé par 1 / k
• Une augmentation de k (donc diminution de la complexité)
• augmente le biais: on risque d’ignorer des détails (schémas, patterns) importants dans les données
d’apprentissage
• diminue la variance: comme on est moins sensible aux données bruitées alors meilleure généralisation
• quid de k = nombre total d’observations
• Une diminution de k (donc augmentation de la complexité)
• diminue le biais
• augmente la variance
• quid de k = 1
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 11
12. Evaluation et validation
• Rappel
• Evaluation du modèle: quantification de sa performance.
• Validation du modèle: l'assurance que le modèle fonctionnera en production comme il a fonctionné
durant l'apprentissage.
• kNN pour la discrimination
• Evaluation: AUC pour l’ensemble d’apprentissage et AUC+ROC pour l’ensemble de validation
• Validation: AUC+ROC pour l’ensemble de test
• kNN pour la prévision
• Evaluation: MSE pour l’ensemble d’apprentissage et de validation
• Validation: MSE pour l’ensemble de test
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 12
13. R packages
• Le package « class » possède la fonction knn()
• ?knn
• knn(train, test, cl, k = 1, l = 0, prob = FALSE, use.all = TRUE)
• Usage courant: knn(train, test, cl, k)
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 13
données
d’apprentissage
données de test
colonne de
libellés de
classes
nombre de
voisins
minimum nb
de votes (k-l)
pour décision
si TRUE, la proportion de la
classe gagnante est
retournée
en cas d’égalité (ties) entre classes, par défaut on
sélectionne toutes les distances égales à la ke plus large.
Si FALSE, alors on effectue une sélection aléatoire de
distances égales à la ke afin d’utiliser exactement k
voisins.
14. R packages
• Le package « FNN » possède une autre fonction knn()
• ?knn
• knn(train, test, cl, k = 1, prob = FALSE,
algorithm=c("kd_tree", "cover_tree", "brute"))
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 14
choix de structure de données pour accélérer la recherche de voisins
15. Exercices
• Vous pouvez télécharger le dossier « knn » avec le lien Dropbox du formateur
• Vous y trouverez un fichier knn.Rmd avec les exemples suivants:
• EX_KNN0 : fondamentaux avec class::knn
• EX_KNN1 : discrimination d’individus selon susceptibilité de frauder avec codage manuel, sans knn()
• EX_KNN2 : idem EX_KNN1 avec class::knn et FNN::knn
• EX_KNN3 : prévision d’endettement des individus avec FNN::knn
• Vous y trouverez également un fichier knn_exo_long.Rmd avec un exercice long sur l’attrition
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 15
16. Bibliographie
• Mount J., Zumel N., Practical Data Science with R, Manning Publications, ISBN 9781617291562,
2014
• Lantz B., Machine Learning with R, Packt Publications, ISBN 9781782162148, 2013
• G-Tch, « Les k-plus proches voisins :Vite, il faut se la réapproprier… », http://www.r-
bloggers.com/les-k-plus-prcoches-voisins-vite-il-faut-se-la-reapproprier/, novembre 2013
• Vladimirov M., « Using the k-Nearest Neighbors Algorithm in R »,
http://blog.webagesolutions.com/archives/1164, novembre 2013
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 16
17. Principe pour la discrimination
• On peut également associer au calcul de probabilité une notion de poids avec, par exemple, les
fonctions suivantes:
• Dans ce cas, on se focalise plus par exemple, sur l’évaluation d'un degré d'appétence à quelque
chose au lieu de prédire l'appartenance ou non à une classe.
30/06/2016 BORIS GUARISMA - FORMATION DATA SCIENTIST - K PLUS PROCHES VOISINS 17
a clarifier