0% ont trouvé ce document utile (0 vote)
58 vues73 pages

Machine Larning Bis

Transféré par

Zoé Pie
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
58 vues73 pages

Machine Larning Bis

Transféré par

Zoé Pie
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

MACHINE LARNING

Par le C.T. KABEYA MWEPU Simon Isaac


Doctorant en Machine Learning
POURQUOI LE MACHINE LEARNING EST UTILISE
Les humains sont confrontés quotidiennement à des problèmes qu’ils
cherchent à résoudre :
Par exemple : Comment construire un pont plus solide ? Comment
augmenter nos bénéfices ? Comment éliminer le cancer ? Ou tout
simplement quelle route emprunter pour aller au travail ?
Pour nous aider dans nos recherches, nous avons inventé l’ordinateur,
qui permet de résoudre en quelques minutes des calculs qui nous
prendraient des millions d’années à effectuer. Mais il faut savoir qu’un
ordinateur ne sait en réalité faire qu’une chose : résoudre les calculs
qu’on lui donne.
POURQUOI LE MACHINE LEARNING EST UTILISE
• Deux situations possibles :
1. On connait le calcul à effectuer pour résoudre notre problème. Dans ce
cas, facile ! On entre ce calcul dans l’ordinateur, c’est ce qu’on appelle la
programmation, et l’ordinateur nous donne le résultat. Exemple : •
Déterminer la structure d’un pont
2. On ne connait pas le calcul qui résout notre problème Dans ce cas... on
est bloqué. Impossible de donner à un ordinateur un calcul que nous ne
connaissons pas. C’est comme vouloir poster une lettre que nous
n’aurions pas écrite. Exemples : • Reconnaitre un visage sur une photo •
Prédire le cours de la Bourse • Eliminer le cancer • Composer de la
musique • Conduire une voiture
Dans le cas 2. laissons la Machine apprendre elle-même. Le ML consiste à
laisser l’ordinateur apprendre quel calcul appliquer plutôt que de lui donner
ce calcul. (Arthur Samuel, 1959).
CAS D’UTILISATION DU MACHINE LEARNING
1. Fabrication
2. Santé et Science de la vie
3. Service financiers
4. Vente au détail
5. Multimédia et divertissement
6. Aide visuelle par ordinateur
AVANTAGES et INCONVENIENTS DU ML
• Avantages des modèles de Machine Learning :
- Possibilité d'identifier les tendances et les modèles de données que les
humains pourraient manquer.
- Possibilité de fonctionner sans intervention humaine après la configuration. Par
exemple, le Machine Learning dans les logiciels de cybersécurité peut surveiller
et identifier en permanence les irrégularités dans le trafic réseau sans la
moindre intervention de l'administrateur.
- Les résultats peuvent devenir plus précis avec le temps.
- Possibilité de traiter une variété de formats de données dans des
environnements de données dynamiques, volumineux et complexes.
• Désavantages des modèles de Machine Learning :
- La formation initiale est un processus long et onéreux. Elle peut être difficile à
mettre en œuvre si l'on ne dispose pas de données suffisantes.
- Il s'agit d'un processus à forte intensité de calcul qui nécessite un
investissement initial important si le matériel est installé en interne.
- Il peut être difficile d'interpréter correctement les résultats et d'éliminer les
incertitudes sans l'aide d'un expert.
DIFFERENCE ENTRE IA et ML
L'IA est le concept plus large qui consiste à permettre à
une machine ou à un système de détecter, de raisonner,
d'agir ou de s'adapter comme un humain.
Le ML est une application d'IA qui permet
aux machines d'extraire des connaissances à partir de
données et d'en tirer des enseignements de manière
autonome.
L'intelligence artificielle est un terme générique qui
désigne différentes stratégies et techniques utilisées
pour rendre les machines plus humaines. L'IA englobe
tout, des assistants intelligents comme Alexa aux
aspirateurs robotisés en passant par les voitures à
conduite autonome. Le machine learning est l'une des
nombreuses branches de l'intelligence artificielle. Si le
machine learning relève de l'IA, toutes les activités d'IA
DEFINITION DE MACHINE LEARNING
Machine Learning is the science of getting computer to learn without being
explicitly programmed (Arthur Samuel, 1959)
Une machine apprend quand sa performance à faire une certaine tâche s’améliore
avec de nouvelles expériences. (Tom Mitchell, 1998)
Le Machine Learning est un sous-ensemble de l'intelligence
artificielle (IA). Cette technologie vise à apprendre aux machines à
tirer des enseignements des données et à s'améliorer avec
l'expérience, au lieu d'être explicitement programmées pour le
faire.
Le Machine Learning est la science du développement
d'algorithmes et de modèles statistiques que les systèmes
informatiques utilisent pour effectuer des tâches sans instructions
explicites, en s'appuyant sur des modèles et des déductions.
POURQUOI UTILISER LE MACHINE LEARNING
Le Machine Learning peut servir à résoudre des problèmes
- que l’on ne sait pas résoudre (comme dans l’exemple de la prédiction
d’achats ci-dessus) ;
- que l’on sait résoudre, mais dont on ne sait formaliser en termes
algorithmiques comment nous les résolvons (c’est le cas par exemple
de la reconnaissance d’images ou de la compréhension du langage
naturel) ;
- que l’on sait résoudre, mais avec des procédures beaucoup trop
gourmandes en ressources informatiques (c’est le cas par exemple de
la prédiction d’interactions entre molécules de grande taille, pour
lesquelles les simulations sont très lourdes).
Le Machine Learning est donc utilisé quand les données sont
abondantes (relativement), mais les connaissances peu accessibles ou
PILLIER DU MACHINE LEARNING
Le Machine Learning repose sur deux piliers fondamentaux :
- d’une part, les données, qui sont les exemples à partir duquel
l’algorithme va apprendre ;
- d’autre part, l’algorithme d’apprentissage, qui est la procédure que
l’on fait tourner sur ces données pour produire un modèle.
On appelle entraînement le fait de faire tourner un algorithme
d’apprentissage sur un jeu de données.
Rappel : Machine Learning
(Apprentissage
Automatique)
Définition informelle : Etude et conception de systèmes (méthodes
exécutées par une machine) qui sont capables d’apprendre à partir de
données.
Exemple : un système qui distinguent les courriels « spam » et « non-
spam ».
Définition un peu plus formelle [T.M. Mitchell, 1997]
Un système S apprend lors d’une expérience « Exp »
si la performance de S sur les taches T, mesurée par P, s’améliore.
P(S_avant Exp,T) ≤ P(S_après Exp,T)
Exemple
Taches T : Classifier des emails reçus durant une journée
Performance P : Taux de rejet correct des spams par S
Expérience « Exp » : 1 semaine exposition aux courriels d’un utilisateur

Un algorithme, c’est une suite finie d’instructions non ambigües


exprimant la résolution d’un problème.
Capacité de généralisation
Définition (informelle) Capacité d’un système à fonctionner correctement
sur de nouvelles taches inconnues après avoir appris sur un ensemble
d’apprentissage.
T : ensemble d’apprentissage (training set)
V : ensemble de test/validation (test set)
avec V ∩ T = ∅
Deux systèmes S1 et S2.
Supposons le résultat suivant : P(S2,T) ≤ P(S1,T) et P(S1, V) ≤ P(S2, V)
Interprétations :
S1 a mieux appris que S2 sur l’ensemble d’apprentissage T
S1 généralise moins bien que S2 sur un ensemble indépendant V
Machine learning vs. Data mining
Machine Learning : but de prédiction à partir de propriétés connues et
apprises sur un ensemble d’apprentissage
Data Mining : but de découverte de propriétés pas encore connues
dans les données
Types d’apprentissage
o Apprentissage supervisé : Apprentissage sur un ensemble d’exemples
étiquetés : (entrée, sortie désirée)
o Apprentissage non supervisé : Apprentissage sur un ensemble
d’exemples non étiquetés (cf. clustering)
o Apprentissage semi-supervisé : Apprentissage sur un ensemble
d’exemples étiquetés / non étiquetés
o Apprentissage par renforcement : Apprentissage où les actions sur
l’environnement se mesurent par une récompense
APPRENTISSAGE SUPERVISE
On parle d’apprentissage supervisé est celui qui consiste à entrainer un
algorithme à l’aide de données d’entrée et de sortie connues et
étiquetées.
En apprentissage supervisé : L'objectif est de faire des
prédictions sur de nouvelles données similaires à celles
sur lesquelles il a été formé.
METHODES DE L’APPRENTISSAGE
SUPERVISE
1. ARBRE DE DECISION
Définition :
Un arbre de décision est un arbre dont :
• les nœuds représentent un choix sur un attribut,
• les arcs représentent les possibilités pour l’attribut testé et
• les feuilles représentent les décisions en fonction des compositions
d’attributs.
Exemple :
Exemple :
Nœuds

Arcs

Feuilles
L’arbre de décision ci-dessus découle des données suivantes :
Exercice n°1

Cet exercice peut être noté


Exercice n°1 bis
L’exemple ci-dessus présente :
- 2 attributs : {température et gorge irritée}
L’attribut température offre 2 modalités {« < 37,5° » et « >=37,5° »}
L’attribut gorge irritée offre 2 modalités {« Oui » et « Non »}
- 1 cible : Décision qui offre 2 modalités {« malade » et « bien portant »}
- 10 exemples étiquetés et
- cet exercice offre uniquement 4 possibilités de résultats :
2 x 2 = 4 possibilités
Soit à essayer pour les données ci-après :
Exercice n°2

Exercice n°3
Une autre exemple :

Exercice n°4

Les exercices n° 1 bis et n°3 possèdent des exemples ayant des valeurs
de type caractère (ils sont traitable par la procédure ID3 proposée par
Ross Quinlan).
les exercices n°2 et n°4 ont des exemples présentant des valeurs de
type numérique (ils seront traités par la procédure C4.5 proposé par le
même auteur en 1993).
CONSTRUCTION DE L’ARBRE DE DECISION
Il existe plusieurs algorithmes basés généralement sur la méthode :
- diviser pour régner :
•ID3 (Quinlan 1979)
•CART (Breiman, et al., 1984)
•ASSISTANT (Bratko 1984)
•C4.5 (Quinlan 1986)
- Couvrir et différencier :
• CN2 (Clark & Niblett 1983)
• AQnn (Michalski et al., 86)
Construction de l’arbre de décision
Partons de l’exercice n°3, pour illustrer cette application:
Cet exercice consiste à decider de jouer au tennis ou non selon l’état du
ciel, la temperature ambiante, l’humidité de l’air et la Vitesse du vent.
Construction de l’arbre de décision
Le choix de l’algorithme de construction de l’arbre est fonction du type
de données disponibles.
- quand les données sont de type caractère : on retient
généralement l’algorithme ID3.
- lorsque les données sont constituées des variables de type
caractère et/ou numérique, on retient généralement
l’algorithme C4.5
Construction de l’arbre de décision
L’algorithme récursif AAD(T,N) à appliquer est :
SI tous les exemples de N sont dans la même classe Ci
ALORS affecter l'étiquette Ci au nœud courant FIN
SINON sélectionner un attribut A avec les valeurs v1...vn
Partitionner N selon v1...vn en N1, ..., Nn
Pour j=1 à n AAD(Tj , Nj ).
Développement :
Construction de l’arbre de décision
1. Application de l’algorithme :

Après ce choix, on se retrouve face au problème initial sur des sous


Ensembles d’exemples.
D’où, nécessité d’un algorithme récursif
Construction de l’arbre de décision
2. On choisit comme premier attribut le vent

Les mêmes problèmes se posent


Idem pour l’état du ciel.
Alors comment s’y prendre sachant que
Construction de l’arbre de décision
L’arbre le plus simple est celui qui permet de minimiser l’espérance du
nombre de questions nécessaires à la classification d’un exemple
d’apprentissage.
Comme évaluer la simplicité globale de l’arbre ?
Les solutions possibles sont :
1. Générer tous les arbres possibles et choisir le Meilleur
Cette solution est très couteuses en temps et en ressources
2. Rechercher un biais
explorer l’approche ascendante ou descendante
tenir compte de la forme de l’arbre à générer
Construction de l’arbre de décision
• Dans tous les cas précédents, la grande difficulté consiste à choisir à
chaque étape de la construction, le bon attribut sur lequel tester.
Construction de l’arbre de décision : choix de l’attribut
Construction de l’arbre de décision : choix
de l’attribut
• Shannon en 1949 a proposé une mesure d’entropie valable pour les
distributions discrètes de probabilité (cette mesure est l’entropie).
• Entropie thermodynamique (2nd principe – Celsius 1865):
– la flèche du temps à direction des réactions chimique et des processus physique
– Energie utile d’un système (qualité de l’énergie)
• Entropie d’information:
– Elle exprime la quantité d’information, c’est à dire le nombre de bits nécessaire
pour coder une information (par exemple, la couleur)
– Utile pour la compression de données et l’évaluation de la capacité des canaux
• principe médias: plus un message surprend, plus il apporte d’information
« un chien qui mord son maître » vs. « un maître qui mord son chien »
Construction de l’arbre de décision : choix
de l’attribut
Comme nous nous intéressons à la quantité d’information, nous devons
chercher à minimiser le nombre de questions nécessaires pour recevoir
la bonne information.
Exemple :
une urne contient 8 boules : 4 rouges, 2 bleues, 1 verte et 1 jaune.
En appliquant le tirage aléatoire quel est le Meilleur tirage à réaliser?
Construction de l’arbre de décision : choix
de l’attribut
Rouge ? oui 1 question
non
Bleue ? oui 2 questions
non
Verte ? oui 3 questions
non
jaune ? 3 questions
C’est le meilleur ensemble de questions que l’on peut poser pour
obtenir la bonne information. Cet ensemble est issu de Huffman. C’est
le code Huffman
Construction de l’arbre de décision : Calcul
de l’entropie
Le nombre moyen des questions à poser est obtenu par :
définissons les événements :
R = tirer une boule rouge B = tirer une boule bleue
V = tirer une boule verte J = tirer une boule jaune
= P(R) x 1 + P(B) x 2 + P(V) x 3 + P(J) x 3
= x 1 + x 2 + x 3 + x 3 = 1,75
Ce qui traduit la formule de l’entropie = - )
On aura : x + x + x + x = 1,75 bits
Construction de l’arbre de décision : Calcul du gain
de l’entropie
Après avoir calculé l’entropie, nous devons determiner le gain obtenu.
Celui-ci nous permettra de determiner quelle variable donne le
Meilleur gain, ce qui nous permettra de la placer dans la racine.
Le gain se calcule par la formule suivante :
Gain (E,a) = Entropie(a) –
Construction de l’arbre de décision : application
Reprenons l’exercice consistant à jouer au tennis :

Question : Construire un arbre de décision relatif à ce problème.


Construction de l’arbre de décision : Application à l’exercice
de jouer au tennis
Détermination de l’attribut à placer dans la racine.
Calcul de l’entropie :
Il y a 14 exemples dont 9 sont positives (Oui) et 5 sont négatives (non).
La probabilité d’obtenir une réponse positive est de 9/14 et celle
d’obtenir une réponse negative est de 5/14.
L’entropie donne - x - x = 0,940
Construction de l’arbre de décision : Application à l’exercice de jouer au tennis

Calcul du gain à obtenir pour chacune des 3 features disponibles


1° Attribut “Ciel”
Ciel Oui Non
Ensoleille 2 3 5 : Ent= - x - x =0,97095095
Couvert 4 0 4 : Ent= - x - =0
Pluie 3 2 5 : Ent= - x - x =0,97095095
Total 9 5 14
Le gain de l’attribut “Ciel” est = 0,940 - * 0,97095 - x 0 - * 0,97095
= 0,24674
Construction de l’arbre de décision : Application à l’exercice de jouer au tennis

2° Attribut “Température”
Tempér. Oui Non
Chaude 2 2 4 : Ent= - x - x = 1
Tiède 4 2 6 : Ent= - x - x =0,91829583
Fraiche 3 1 4 : Ent= - x - x =0,81127812
Total 9 5 14
Le gain de l’attribut “Température ” est
= 0,940 - * 1 - x 0,91829583 - * 0,81127812 = 0,02922257
Construction de l’arbre de décision : Application à l’exercice
de jouer au tennis
3° Attribut “Humidité”
Humidité Oui Non
Elevée 3 4 7 : Ent= - x - x = 0,9852281
Normale 6 1 7 : Ent= - x - x=0,59167278
Total 9 5 14
Le gain de l’attribut “Humidité” est
= 0,940 - * 0,9852281 - x 0,59167278 = 0,1518355
Construction de l’arbre de décision : Application à l’exercice de jouer au tennis

4° Attribut “Vent”
Vent Oui Non
Faible 6 2 8 : Ent= - x - x = 0,81127812
Fort 3 3 6 : Ent = - x - x= 1
Total 9 5 14
Le gain de l’attribut “Vent” est
= 0,940 - * 0,81127812 - x 1 = 0,04812703
Au vu des gains rapportés par les différents features, nous constatons que
La variable “ciel” a le plus grand gain, il sera place dans la racine.
Variable « Ciel » est placée dans la racine

Ensoleillé

Couvert OUI

Pluie
Construction de l’arbre de décision : Calcul avec ID3 pour
l’attribut « Ciel »
1) Pour l’attribut « Ensoleillé »
Numéro Ciel Température Humidité Vent Jouer/non
1 Ensoleillé Chaude Elevée Faible Non
2 Ensoleillé Chaude Elevée Fort Non
8 Ensoleillé Tiède Elevée Faible Non
9 Ensoleillé Fraiche Normale Faible Oui
11 Ensoleillé Tiède Normale Fort Oui

L’entropie générale de « Ensoleillé » est 0,97095095


Au total, on a 5 exemples pour 3 non et 2 oui
Construction de l’arbre de décision : Calcul avec ID3 pour
l’attribut « Ciel »
Dans Ensoleillé, on calcul l’entropie de « Température »
Attribut “Température”
Tempér. Oui Non
Chaude 2 2 : Ent= - x - x = 0
Tiède 1 1 2 : Ent= - x - x =1
Fraiche 1 1 : Ent= - x - x =0
Total 2 3 5
Le gain de l’attribut “Température ” dans ensoleillé est
= 0,97095095 - * 0 - x 1 - * 0 = 0,5709
Construction de l’arbre de décision : Calcul avec ID3 pour l’attribut « Ciel »

Dans “ensoleillé”, on calcule l’entropie de “Vent”


Attribut “Vent”
Vent Oui Non
Faible 1 2 3 : Ent= - x - x = 0,91829583
Fort 1 1 2 : Ent= - x - x =1
Total 2 3 5
Le gain de l’attribut “Vent ” dans ensoleillé est
= 0,97095095 - * 0,91829583 - x 1 = 0,01997309
Construction de l’arbre de décision : Calcul avec ID3 pour l’attribut « Ciel »

Dans “ensoleillé”, on calcule l’entropie de “Humidité”


Attribut “Humidité”
Humidité Oui Non
Elevée 0 3 3 : Ent= - x - x = 0
Normale 2 0 2 : Ent= - x - x =0
Total 2 3 5
Le gain de l’attribut “Humidité ” dans “ensoleillé” est
= 0,97095095 - * 0 - x 0 = 0,97095095
Le plus grand gain est obténu par l’attribute “Humidité”.
Construction de l’arbre de décision : Calcul avec ID3 pour l’attribut « Ciel »

Pour l’attribut « Pluie » de « Ciel », on aura :


Numéro Température Humidité Vent Jouer
4 Tiède Elevée Faible Oui
5 Fraiche Normale Faible Oui
6 Fraiche Normale Fort Non
10 Tiède Normale Faible Oui
14 Tiède Elevée Fort Non

Les gains sont :


a) Température : 0,01997309
b) Humidité : 0,01997309
c) Vent : 0,97095095 (c’est lui l’attribut retenu)
Construction de l’arbre de décision : Calcul avec ID3 : arbre de
décision obtenu
Ciel

couvert
Ensoleillé Pluie
Jouer
Humidité Vent

Normal Elevée Faible Fort


Ne pas jouer Jouer Ne pas jouer
Jouer
Construction de l’arbre de décision : Calcul avec ID3 : programmation

Tous ces calculs fastidieux, sont très simples en utilisant un ordinateur.


Construction de l’arbre de décision : Calcul avec ID3 : programmation
Construction de l’arbre de décision : Exercice
Numéro Emplacement Type de maison Révenu Clients Résultats
antérieurs
1 Banlieue Unifamilliale Elevé Non Insatisfait
2 Banlieue Unifamilliale Elevé Oui Insatisfait
3 Rural Unifamilliale Elevé Non Satisfait
4 Ville Jumellée Elevé Non Satisfait
5 Ville Jumellée Bas Non Satisfait
6 Ville Jumellée Bas Oui Insatisfait
7 Rural Jumellée Bas Oui Satisfait
8 Banlieue Rangée Elevé Non Insatisfait
9 Banlieue Jumellée Bas Non Satisfait
10 Ville Rangée Bas Non Satisfait
11 Banlieue Rangée Bas Oui Satisfait
12 Rural Rangée Elevé Oui Satisfait
13 Rural Unifamilliale Bas Non Satisfait
14 Ville Rangée Elevé Oui Insatisfait
Evaluation de la classification
Après avoir réalisé une classification, il faut l’évaluer. Cette évaluation
est faite au moyen de l’erreur de classification.
Celui-ci est
METHODE « K Plus Proche Voisins » (KNN)
L’algorithme des k-plus proches voisins est l’un des
algorithmes utilisés dans le domaine de l’intelligence
artificielle.
C'est un algorithme d'apprentissage automatique
supervisé qui attribue une catégorie à un élément en
fonction de la classe majoritaire des ses plus proches
voisins dans l'échantillon d'entraînement.
METHODE « K Plus Proche Voisins » (KNN)
Classification
– Elle permet de prédire si un élément est membre d’un groupe ou
d’une catégorie donnée.
– Classes
• Identification de groupes avec des profils particuliers
• Possibilité de décider de l’appartenance d’une entité à une classe
– Caractéristiques
• Apprentissage supervisé : classes connues à l’avance
• Pb : qualité de la classification (taux d’erreur)
– Ex : établir un diagnostic (si erreur !!!)
METHODE « K Plus Proche Voisins » (KNN)
• Comprendre les critères prépondérants pour l’achat d’un produit ou
d’un service
• Isoler les critères explicatifs d’un comportement d’achat
• Analyse de risque: détecter les facteurs prédisant un comportement
de non paiement
• Détecter les causes de réclamation
METHODE « K Plus Proche Voisins » (KNN)
Processus à deux étapes
• Etape 1 :
• Construction du modèle à partir de l’ensemble d’apprentissage
(training set)
• Etape 2 :
• Utilisation du modèle :
tester la précision du modèle et l’utiliser dans la classification de
nouvelles données
METHODE « K Plus Proche Voisins » (KNN)
Construction du modèle
•Chaque instance est supposée appartenir à une classe prédéfinie
•La classe d’une instance est déterminée par l’attribut ”classe”
•L’ensemble des instances d’apprentissage est utilisé dans la
construction du modèle
•Le modèle est représenté par des règles de classification, arbres de
décision, formules mathématiques, ...
METHODE « K Plus Proche Voisins »
(KNN)
• Méthode dédiée à la classification (k-NN : Nearest Neighbors).
• Méthode de raisonnement à partir de cas : prendre des décisions en
recherchant un ou des cas similaires déjà résolus.
• Pas d’étape d ’apprentissage : construction d ’un modèle à partir d’un
échantillon d ’apprentissage (réseaux de neurones, arbres de décision,
…).
• Modèle = échantillon d’apprentissage + fonction de distance +
fonction de choix de la classe en fonction des classes des voisins les
plus proches.
METHODE « K Plus Proche Voisins »
(KNN)
Algorithme kNN (K-nearest neighbors)
• Objectif : affecter une classe à une nouvelle instance
• donnée : un échantillon de m enregistrements classés (x, c(x))
• entrée : un enregistrement y – 1.
Déterminer les k plus proches enregistrements de y – 2.
combiner les classes de ces k exemples en une classe c
• sortie : la classe de y est c(y)=c
METHODE « K Plus Proche Voisins » (KNN)
Qu’est ce qu’être proche ?
• Vocabulaire
• Mesure de dissimilarité (DM) : plus la mesure est faible plus les points
sont similaires ( ~ distance)
• Mesure de similarité (SM) : plus la mesure est grande, plus les points
sont similaires
• DM = borne - SM
METHODE « K Plus Proche Voisins » (KNN)
• Il n’y a pas de définition unique de la similarité entre objets
– Différentes mesures de distances d(x,y)
•La définition de la similarité entre objets dépend de :
– Le type des données considérées
– Le type de similarité recherchée
Distance – Données numériques • Combiner les distances : Soient
x=(x1,…,xn) et y=(y1, …,yn) • Exemples numériques : • Distance
euclidienne : • Distance de Manhattan : • Distance de Minkowski : •
q=1 : distance de Manhattan. • q=2 : distance euclidienne ∑= = − n i i d
x y xi y 1 ( , ) ∑( ) = = − n i d x y xi yi 1 2 ( , ) q n q i i d x y ∑ xi −
METHODE « K Plus Proche Voisins » (KNN)
Forces et faiblesses
• Les attributs ont le même poids
– centrer et réduire pour éviter les biais
– certains peuvent être moins classant que d'autres
• Apprentissage paresseux
– rien n'est préparé avant le classement
– tous les calculs sont fait lors du classement
– nécessité de technique d'indexation pour large BD
• Calcul du score d'une classe
– peut changer les résultats; variantes possibles
L’algorithme kNN
1.Charger les données
2.Initialiser k au nombre de plus proches voisins choisi
3. Pour chaque exemple dans les données:
3.1 Calculer la distance entre notre requête et l’observation
itérative actuelle de la boucle depuis les données.
3.2 Ajouter la distance et l’indice de l’observation concernée à
une collection ordonnée de données
4. Trier cette collection ordonnée contenant distances et indices
de la plus petite distance à la plus grande (dans ordre croissant).
5. Sélectionner les k premières entrées de la collection de
données triées (équivalent aux k plus proches voisins)
6. Obtenir les étiquettes des k entrées sélectionnées
7. Si régression, retourner la moyenne des k étiquettes
8. Si classification, retourner le mode (valeur la plus
fréquente/commune) des k étiquettes
ALGORITHME DE KNN (Kpvv)
• Avantages
1.L’algorithme est super simple et facile à mettre en œuvre.
2.Il n’est pas nécessaire de construire un modèle, d’ajuster
plusieurs paramètres ou de faire des hypothèses
supplémentaires.
3.L’algorithme est polyvalent. Il peut être utilisé pour la
classification, la régression et la recherche d’informations
(comme nous le verrons dans la section suivante).
• Inconvénients
L’algorithme ralentit considérablement à mesure que le
nombre d’observations et/ou de variables
dépendantes/indépendantes augmente. En effet, l’algorithme
parcourt l’ensemble des observations pour calculer chaque
distance.
Algorithme
from math import *
import matplotlib.pyplot as plt
# Données de type 1
liste_x_1=[1,3,8,13]
liste_y_1=[28,27.2,37.6,40.7]
# Données de type 2
liste_x_2=[2,3,10,15]
liste_y_2=[30,26,39,35.5]
plt.axis([0,15, 0, 50])
# Attention [x1,x2,y1,y2]
plt.xlabel('Caractéristique 1’)
# premier commentaire attendu
plt.ylabel('Caractéristique 2’)
plt.title('Représentation des deux types’)
plt.axis('equal’)
# Pour avoir un repère orthonormé
plt.grid()
plt.scatter(liste_x_1,liste_y_1, label='type 1’)
# second commentaire attendu
plt.scatter(liste_x_2,liste_y_2, label='type 2’)
plt.legend()
plt.show()
from math import *
import matplotlib.pyplot as plt
# Données de type 1
liste_x_1=[1,3,8,13]
liste_y_1=[28,27.2,37.6,40.7]
# Données de type 2
liste_x_2=[2,3,10,15]
liste_y_2=[30,26,39,35.5]
fig, ax = plt.subplots()
plt.axis([0,15, 0, 50])
# Attention [x1,x2,y1,y2]
plt.xlabel('Caractéristique 1’)
plt.ylabel('Caractéristique 2’)
plt.title('Représentation des deux types’)
plt.axis('equal’)
# pour avoir un repère orthonormé. Faire des tests.
plt.grid()
plt.scatter(liste_x_1,liste_y_1, label='type 1’)
plt.scatter(liste_x_2,liste_y_2, label='type 2’)
plt.legend()
# Ajout d'un cercle (ou d'une ellipse)
ax.add_artist(plt.Circle((6, 30), 4, edgecolor='b', facecolor='none’))
# Ajout d'un rectangle
ax.add_artist( plt.Rectangle((6,0), 2, 50, edgecolor = 'black', facecolor = 'none', fill = True, hatch = '/',
linestyle = 'dashed', linewidth = 3, zorder = 1))
plt.show()
import pandas import matplotlib.pyplot as plt
iris=pandas.read_csv("iris.csv")
x=iris.loc[:,"petal_length"] y=iris.loc[:,"petal_width"]
lab=iris.loc[:,"species"] plt.axis('equal') plt.scatter(x[lab
== 0], y[lab == 0], color='g', label='setosa')
plt.scatter(x[lab == 1], y[lab == 1], color='r',
label='versicolor') plt.scatter(x[lab == 2], y[lab == 2],
color='b', label='virginica') plt.legend()
plt.show()
import pandas
import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsClassifier #traitement CSV
iris=pandas.read_csv("iris.csv") x=iris.loc[:,"petal_length"]
y=iris.loc[:,"petal_width"] lab=iris.loc[:,"species"] #fin traitement CSV
#valeurs longueur=2.5 largeur=0.75 k=3 #fin valeurs #graphique
plt.axis('equal') plt.scatter(x[lab == 0], y[lab == 0], color='g',
label='setosa') plt.scatter(x[lab == 1], y[lab == 1], color='r',
label='versicolor') plt.scatter(x[lab == 2], y[lab == 2], color='b',
label='virginica') plt.scatter(longueur, largeur, color='k') plt.legend()
#fin graphique #algo knn d=list(zip(x,y)) model =
KNeighborsClassifier(n_neighbors=k) model.fit(d,lab) prediction=
model.predict([[longueur,largeur]]) #fin algo knn #Affichage résultats
txt="Résultat : " if prediction[0]==0: txt=txt+"setosa" if
prediction[0]==1: txt=txt+"versicolor" if prediction[0]==2:
txt=txt+"virginica" plt.text(3,0.5, f"largeur : {largeur} cm longueur :
{longueur} cm", fontsize=12) plt.text(3,0.3, f"k : {k}", fontsize=12)
plt.text(3,0.1, txt, fontsize=12) #fin affichage résultats plt.show()
REGRESSION LINEAIRE
APPRENTISSAGE NON SUPERVISE

Vous aimerez peut-être aussi