Vous êtes sur la page 1sur 19

République du Sénégal

Un Peuple-Un But-Une Foi

Ministère de l’Enseignement Supérieur de la Recherche et de L’Innovation

Université Iba Der Thiam de THIES


UFR sciences et Technologie
Filière Informatique option Réseaux et Télécommunications
Niveau : Master I
Projet : Intelligence Artificielle

Apprentissage automatique

Présenté par : Professeur :


Mame Cheikh SYLLA Dr F. KALY
Ibra KOUNDOUL

Année académique 2020/ 2021


Plan
Introduction

I. Présentation des outils de travail


II. TP 1 : Les k plus proches voisins Classification
a. Objectif

b. Analyse des données

c. Séparation des données en bases d’apprentissage et de test

d. Apprentissage et test

e. Jouer avec le paramètre k

III. TP 2 : La régression linéaire


a. Objectif

b. Analyse des données

c. Séparation des données en bases d’apprentissage et de test

Conclusion
Introduction

L’apprentissage automatique ou machine learning en anglais est un champ d’étude de

l’intelligence artificielle qui se fonde sur des approches mathématiques et statistiques

pour donner aux ordinateurs la capacité d’apprendre à partir de données, c’est-à -dire

d’améliorer leurs performances à résoudre des taches sans être explicitement

programmés pour chacune. Plus largement, il concerne la conception, l’analyse,

l’optimisation, le développement et l’implémentation de telles méthodes.

I. Présentation des outils de travail


Dans le cadre de la réalisation de ce LAB nous allons utilise le logicielle Jupiter intégrer
sur anaconda IDE comme environnement de développement, python comme langage de
programmation qui nous permettra de faire l’analyse des données et leur traitement.
a. Python
Python est le langage le plus populaire dans le monde de l’intelligence artificielle.
C’est un langage orienté objet et se veut relativement facile d’accès. Il est très
utilisé au sein de la communauté scientifique et particulièrement dans le domaine
de l’intelligence artificielle. Les principaux Framework de machine Learning et
Deep Learning sont effectivement disponibles en Python.

Python3
b. Anaconda
Anaconda est une distribution libre et open source des langages de
programmation Python et R appliqué au développement d'applications dédiées à
la science des données et à l'apprentissage automatique, qui vise à simplifier la
gestion des paquets et de déploiement.

Anaconda

c. Jupiter
Jupiter est une application web utilisée pour programmer différente langages de
programmation, dont Python, Julia, Ruby et tant d’autres. C'est un projet
communautaire dont l'objectif est de développer des logiciels libres, des formats
ouverts et des services pour l'informatique interactive. C’est une évolution du
projet Python et permet de réaliser des calepins ou notebooks, c'est-à -dire des
programmes contenant à la fois du texte en mark down et du code. Ces calepins
sont utilisés en science des données pour explorer et analyser des données.

Jupiter
II. TP 1 : Les k plus proches voisins Classification
a. Objectif

L’objectif de ce TP consiste à prédire si l'objet repéré par le sonar est un rocher

ou une mine. Il n'y aura donc que deux options possibles nous permettant de

classer notre prédiction dans l'une ou l'autre catégorie. Il s'agira donc bien d'un

problème de classification. Nous allons utiliser l’algorithme des k-plus proches

voisins afin de réaliser notre classification.

b. Analyse des données

 Renommons les variables avec utilisant la commande names


Après le renommage des différentes variables de notre datagramme nous avons

l’observation suivante.

 Afficher les premières lignes de la base de données

Avec la commande Head () on peut afficher les toutes premières ligne de notre

data frame.
 Combien de classes ?

Nous avons deux classes dont la classe R comme ROCHER et M qui représente les objets

de type MINE

Avec la commande value_counts( ) nous constatons qu’il y’a 111 objet de type Minier(M)

et 97 objets de Types Rocher(R)

 Combien de caractéristiques descriptives ? De quels types ?

Nous avons 61 caractéristiques descriptives

Les 60 premier sont de variables qui vont de F1 A F60 et leur type est Float64

La dernière s’appelle OBJET et sont type est objet


 Calculer les statistiques de base des variables 2 à 7
 Combien d’exemples ?

Nous avons 6 exemples

 Combien d’exemples de chaque classe ?

Classe R=2 exemple et Classe M=4 exemples

 Comment sont organisés les exemples ?

Les donnes sont organisées comme suit

c. Séparation des données en bases d’apprentissage et de test

Nous allons commencer à charger les différentes Bibliothèques nécessaires

pour la séparation des données de notre data frame

d. Apprentissage et test

Création du model avec la fonction from sklearn.model_selection import

train_test_split qui fonction a l’avantage de randomiser l’ensemble avant de faire

le split, ce qui est très important avec la base des Sonars.

Ainsi on peut créer notre model


Après la création du model nous allons mesurer sa précision du modèle en

utilisant la fonction score.

Un Second Test

Score obtenue en apprentissage 0.915662……

Score obtenue en test ? 0.833333…………….


Affichage de la matrice de confusion.

e. Jouer avec le paramètre k

Observations

Lorsqu’on change la valeur du paramètre k a 3 nous avons les scores suivants


Au vu de voir le comportement du score lorsqu’on joue sur le paramètre k, nous

avons pensé a utilisé une boucle for pour k allant de 1 à 50 calculer le score

correspondant et afficher ca sous forme de courbe

On peut dire alors que plus la valeur de k (KNeighborsClassifier) est grand plus

on perd la précision alors le score devient de plus en plus faible

Courbe de k en fonction des scores.


III. TP 2 : La régression linéaire
a. Objectif

L’objectif de ce travail consiste à déterminer si lors d'un combat, un Pokémon

a de grandes chances de gagner. Comme nous disposons de données

d'apprentissage, nous sommes donc dans un cas de Machine Learning dit

"supervisé". C'est-à -dire que la machine va apprendre en fonction de ce qu'on

lui fournit en entrée. Dans ce fait, nous devons prédire le pourcentage de

victoire, c'est donc une valeur et c'est naturellement que nous utiliserons

l’algorithme de régression que nous avons découverts dans le cours.

b. Analyse des données

 Afficher les premières observations de la base de données ?

Avec la commande Head () on peut afficher les toutes premières

ligne de notre data frame.

 Combien de caractéristiques descriptives ? De quels types ?

Nous avons 17 caractéristiques descriptives

Les 16 premier sont de variables de type est Float64

La dernière s’appelle OBJET et sont type est objet


 Faire une analyse descriptive des données

La commande describe assosier avec les fonction head et value_counts nous a

permis de faire l’analyse descriptive des données de notre base.


 Comment sont organisés les exemples ?

Les donnes sont organisées comme suit

 Tracer les box plots de toutes les variables

Avec L’outil sns de la bibliothèque soarbon nous avons pu tracer le box

plot de chaque variable donner sur l’image ci-dessus


Box Plot de l’ensemble des variables de la base

 Calculer et tracer la matrice de corrélation des différentes features

Nous avons procédé comme suis pour tracer le matrice de corrélations des

différentes variables de la base


Matrice de corrélation des différentes features
c. Séparation des données en bases d’apprentissage et de test

Création du model d’apprentissage avec 20% des données pour le test et 80% pour

l’Apprentissage

Apprentissage et test

Une fois notre model créer Il faut maintenant apprendre le modèle.

Ensuite il faut l’entrainer sur la base d’apprentissage

Quel score obtenez-vous en apprentissage ? Et en test ?

Score obtenue en apprentissage 0.9……


Score obtenue en test ? 0.71…………….

Tracer le nuage des points entre le pourcentage de victoire mesuré et le pourcentage de

victoire estimé aussi bien pour la base d’apprentissage que la base de teste,

Nuage des points entre le pourcentage de victoire mesuré et le pourcentage

Puis calculer le coefficient de corrélation

Conclusion

En Résumé cette série de 2 LAB portant sur l’apprentissage automatique sur des

données réelles nous a permis de mieux comprendre le concept de datamining et le

fonctionnement des algorithmes de Machine Learning présenté dans le cours d’IA.

Ce travail nous a permis également de mettre en pratique les compétences Théorique

acquise du cours « introduction à l’IA ».

Vous aimerez peut-être aussi