SlideShare a Scribd company logo
1 of 17
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
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
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
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
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%
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.
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
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
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
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)))
}
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
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
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.
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
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
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
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

More Related Content

What's hot

Introduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesIntroduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesGiorgio Pauletto
 
Perceptron monocouche en français
Perceptron monocouche en françaisPerceptron monocouche en français
Perceptron monocouche en françaisHakim Nasaoui
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentationDonia Hammami
 
Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data miningDonia Hammami
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine LearningMathieu Goeminne
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neuronesMariam Amchayd
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction généraleMohamed Heny SELMI
 
Les 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningLes 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningHakim Nasaoui
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionMohamed Heny SELMI
 
Data Mining (Partie 1).pdf
Data Mining (Partie 1).pdfData Mining (Partie 1).pdf
Data Mining (Partie 1).pdfOuailChoukhairi
 
réseaux de neurones artificiels
réseaux de neurones artificiels réseaux de neurones artificiels
réseaux de neurones artificiels Oussama Werfelli
 
le NLP à l'ére de l'IA
le NLP à l'ére de l'IAle NLP à l'ére de l'IA
le NLP à l'ére de l'IAhabib200
 
Système de recommandations de films
Système de recommandations de filmsSystème de recommandations de films
Système de recommandations de filmsIbn Tofail University
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisionsMariem Chaaben
 
Intelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielleIntelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielleECAM Brussels Engineering School
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 

What's hot (20)

Introduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesIntroduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes Statistiques
 
Perceptron monocouche en français
Perceptron monocouche en françaisPerceptron monocouche en français
Perceptron monocouche en français
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentation
 
Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data mining
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine Learning
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neurones
 
Les systèmes de recommandations
Les systèmes de recommandationsLes systèmes de recommandations
Les systèmes de recommandations
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction générale
 
Les 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningLes 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learning
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décision
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
 
Data mining - Associativité
Data mining - AssociativitéData mining - Associativité
Data mining - Associativité
 
Data Mining (Partie 1).pdf
Data Mining (Partie 1).pdfData Mining (Partie 1).pdf
Data Mining (Partie 1).pdf
 
réseaux de neurones artificiels
réseaux de neurones artificiels réseaux de neurones artificiels
réseaux de neurones artificiels
 
le NLP à l'ére de l'IA
le NLP à l'ére de l'IAle NLP à l'ére de l'IA
le NLP à l'ére de l'IA
 
Système de recommandations de films
Système de recommandations de filmsSystème de recommandations de films
Système de recommandations de films
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisions
 
Intelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielleIntelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielle
 
clustering
clusteringclustering
clustering
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 

Similar to 5.1 K plus proches voisins

Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdfhanamettali
 
5.3 Régression logistique
5.3 Régression logistique5.3 Régression logistique
5.3 Régression logistiqueBoris Guarisma
 
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdftoaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdfPenielLoyi
 
FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretjfeudeline
 
05 Sélection de modèle linéaire
05 Sélection de modèle linéaire05 Sélection de modèle linéaire
05 Sélection de modèle linéaireBoris Guarisma
 
Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfnesrinetaamallah
 

Similar to 5.1 K plus proches voisins (6)

Apprentissage supervisé.pdf
Apprentissage supervisé.pdfApprentissage supervisé.pdf
Apprentissage supervisé.pdf
 
5.3 Régression logistique
5.3 Régression logistique5.3 Régression logistique
5.3 Régression logistique
 
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdftoaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
toaz.info-clustering-1-pr_7c021feec2e58f2cfdcdf6fe5c0cfc03.pdf
 
FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caret
 
05 Sélection de modèle linéaire
05 Sélection de modèle linéaire05 Sélection de modèle linéaire
05 Sélection de modèle linéaire
 
Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdf
 

Recently uploaded

analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxHadJer61
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 

Recently uploaded (6)

analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptx
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 

5.1 K plus proches voisins

  • 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