100% ont trouvé ce document utile (1 vote)
618 vues36 pages

Rapport v1

Ce document présente un mini-projet sur la prédiction des prix des logements en utilisant des techniques d'apprentissage automatique. Il décrit les outils utilisés comme Oracle, Python, et les bibliothèques Pandas, Scikit-learn. Le cas d'étude implique l'importation de données, la préparation des données, le choix et l'évaluation de modèles pour tester un modèle de prédiction des prix.

Transféré par

Saad NAJAR
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 PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
618 vues36 pages

Rapport v1

Ce document présente un mini-projet sur la prédiction des prix des logements en utilisant des techniques d'apprentissage automatique. Il décrit les outils utilisés comme Oracle, Python, et les bibliothèques Pandas, Scikit-learn. Le cas d'étude implique l'importation de données, la préparation des données, le choix et l'évaluation de modèles pour tester un modèle de prédiction des prix.

Transféré par

Saad NAJAR
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 PDF, TXT ou lisez en ligne sur Scribd

1

REMERCIEMENT
Tout d’abord nous tenons à remercier dans un premier temps, toute l’équipe pédagogique de notre

université et les intervenants professionnels responsables de la formation technique de ses étudiants, et

spécialement du master Big Data et cloud compting responsable de notre formation intéressante.

Cela étant, Nous présentons nos remerciements les plus considérables à notre professeur : TKATEK SAID

pour sa motivation, ses conseils, ses qualités techniques et professionnelles et pour tous les efforts

fournis favorisant l’aboutissement du de ce mini-projet que nous menons

2
Table de Matière
Chapitre 1 Présentation et Etude du mini-projet ................................................................................8
I. Introduction: .................................................................................................. Error! Bookmark not defined.
II. Présentation du mini-projet: ......................................................................................................................... 8
1. Big Data : ................................................................................................................................................... 8
2. Fonctionnement du Big Data .................................................................................................................... 9
3. Machine Learning: .................................................................................................................................. 10
3.1. Comment fonctionne le Machine Learning .........................................................................10
3.2. Les principaux algorithmes de Machine Learning ...............................................................10
i. Algorithme d’apprentissage supervisé ................................................................................11
ii. Les algorithmes d’apprentissage non supervisé : ............................................................14
iii. Les algorithmes d’apprentissage semi-supervisé: ...........................................................16
iv. Les algorithmes d’apprentissage par renforcement : ......................................................17
4. Intelligence Artificielle: ........................................................................................................................... 18
5. Conclusion : ............................................................................................................................................. 18

Chapitre 2 Technologies et environnement de travail: .....................................................................19


I. Outils utilisés : ............................................................................................................................................. 19
1. Oracle 11g : ............................................................................................................................................. 19
2. Oracle 12 c: ............................................................................................................................................. 19
3. Installation Oracle 12 c: .......................................................................................................................... 20
4. Anaconda : .............................................................................................................................................. 24
5. Python: .................................................................................................................................................... 24
6. Visual studio code : ................................................................................................................................. 24
7. Jupyter: ................................................................................................................................................... 25
8. Kaggle: ..................................................................................................................................................... 25
II. Bibliothèque utilisés : .................................................................................................................................. 25
1. Pandas: .................................................................................................................................................... 26
2. Numpy:.................................................................................................................................................... 26
3. Seaborn: .................................................................................................................................................. 26
4. Matplotlib: .............................................................................................................................................. 26
5. Scikit-learn: ............................................................................................................................................. 27

Chapitre 3 : étude de cas ("HOUSING PRICE PREDICTION") ..............................................................28


I. Introduction :............................................................................................................................................... 28
1. Objective ................................................................................................................................................. 28
2. Demarche suivie: .................................................................................................................................... 28
II. Etude de cas ................................................................................................................................................ 29
1. Importation de data en sql developper: ................................................................................................. 29

3
2. Préparation des données: ....................................................................................................................... 31
3. determiner le bon modele et l evaluer ................................................................................................... 33
4. tester le modele ...................................................................................................................................... 34

Conclusion : .............................................................................................................................. 35
Bibliographiques ....................................................................................................................... 36

4
Table de figures
Figure 1 : Types d'algorithme en Machine Learning............................................................................11
Figure 2 : exemple de régression linéaire ............................................................................................12
Figure 3 :exemple de régression logistique .........................................................................................12
Figure 4 : exemple d'algorithme SVM..................................................................................................13
Figure 5 : exemple d’algorithme d’arbre de décision ..........................................................................13
Figure 6 : exemple d ‘algorithme de KNN ............................................................................................14
Figure 7 : exemple d algorithme de K-Means ......................................................................................15
Figure 8 : exemple d'algorithme de clustering hierarchique ...............................................................16
Figure 9 :structure oracle 11g .............................................................................................................19
Figure 10 : structure oracle 12c ...........................................................................................................19
Figure 11 : fichier de telechargement des fichiers d 'orcale 12c .........................................................20
Figure 12 : etape 1 d'installation .........................................................................................................20
Figure 13 : Message de Mise a jour .....................................................................................................20
Figure 14 : etape 3-1 ............................................................................................................................20
Figure 15 : etape 3-2 ............................................................................................................................21
Figure 16 : etape 4 ...............................................................................................................................21
Figure 17 : etape 5 ...............................................................................................................................22
Figure 18 : etape 6 ...............................................................................................................................22
Figure 19 : etape 7 et 8 ........................................................................................................................23
Figure 20 : Message assistant configuration de base de donnees ......................................................23
Figure 21 : etape final de l’installation ................................................................................................23
Figure 22 : Navigateur ANACONDA......................................................................................................24
Figure 23 : Python ................................................................................................................................24
Figure 24 : Visual Studio Code .............................................................................................................24
Figure 25 : Jupyter ...............................................................................................................................25
Figure 26 : Kaggle.................................................................................................................................25
Figure 27 : importation des bibliotheque ............................................................................................25
Figure 28 : Connexion du base de donnees .........................................................................................29
Figure 29 : Importation du DATA .........................................................................................................29
Figure 30 : Selection du DATASET ........................................................................................................30
Figure 31 : verification du DATA ...........................................................................................................30
Figure 32 : Telechargement du DATA dans la base de donnees ..........................................................30
Figure 33 : connexion cx_Oracle avec python .....................................................................................30
Figure 34 : Lecture du DATASET ...........................................................................................................31
Figure 35 : verification du dataset .......................................................................................................31
Figure 36 : affichage de tous les colonnes ...........................................................................................31
Figure 37 : Nettoyage de data.............................................................................................................32
Figure 38 : division du Data .................................................................................................................32
Figure 39 : amelioration des donnees .................................................................................................32
Figure 40 : representation en nuance de point ...................................................................................33
Figure 41 : converstion des valeurs categoriques vers des valeurs numeriques .................................33
Figure 42 : disivion du Data en TESTE / TRAIN ....................................................................................33
Figure 43 : Entrainement des algorithmes ..........................................................................................34
Figure 44 : graphe comparatif du models............................................................................................34
5
Figure 45 : Resultat du prediction .......................................................................................................34

6
Introduction
L'investissement est une activité commerciale qui intéresse la plupart des gens partout dans le monde. Il
existe plusieurs objets qui sont souvent utilisés pour l'investissement, par exemple, l'or, les actions et la
propriété.
En particulier, l'investissement d’immobilier a vécu une augmentation remarquable en ces derniers années.
Les tendances des prix des maisons ne préoccupent pas seulement les acheteurs et les vendeurs, mais elles
indiquent également la situation économique actuelle. De nombreux facteurs ont un impact sur les prix des
maisons, tels que le nombre de chambres, d’étage et de façade. Même l'emplacement à proximité, un
emplacement avec une grande accessibilité aux autoroutes, aux autoroutes, aux écoles, aux centres
commerciaux et aux opportunités d'emploi locales contribue à la hausse du prix des maisons.
La prévision manuelle des maisons devient difficile, c'est pourquoi de nombreux systèmes ont été
développés pour la prédiction des prix des maisons. Alors L’objectif de ce mini-projet est de créer un modèle
qui peut nous donner une bonne prédiction des prix des maisons basée sur d’autres variables en utilisant
les algorithmes de machine Learning et la base donnée d’oracle 12c.

7
Chapitre 1 Présentation et Etude du mini-projet

Ce premier chapitre aura comme contenu une présentation du mini-projet

I. Introduction :
Ce projet intitulée les algorithmes de Big Data, machine Learning, ainsi l’intelligence artificielle, avec
une étude de cas implémente les algorithmes étudiés. Au paragraphe suivant nous définissons
chacun de big Data, machine Learning et intelligence artificielle.

II. Présentation du mini-projet:


1. Big Data :

Littéralement, ce terme signifie mégadonnées, grosses données ou encore données massives. Ils
désignent un ensemble très volumineux de données qu’aucun outil classique de gestion de base de
données ou de gestion de l’information ne peut vraiment travailler. Alors le big data ou bien
mégadonnées désignent une combinaisons de données {structurées, semi-structurées, non
structurées},produite par l’utilisation des nouvelles technologies.Ses données sont plus
variées,arrivant dans des volumes de plus en plus important et avec une vitesse plus élevée, cette
dernière est également connus sous le nom des 3V :

• volume: La quantité de données a son importance. Avec le Big Data, vous devrez traiter de gros
volumes de données non structurées et à faible densité. Il peut s’agir de données de valeur
inconnue, comme des flux de données Twitter, des flux de clics sur une page web ou une
application mobile ou d’un appareil équipé d’un capteur. Pour certaines entreprises, cela peut
correspondre à des dizaines de téraoctets de données. Pour d’autres, il peut s’agir de centaines
de pétaoctets.

• vitesse:La vitesse à laquelle les données sont reçues et éventuellement traitées. Normalement,
les données haute vitesse sont transmises directement à la mémoire, plutôt que d’être écrites
sur le disque. Certains produits intelligents accessibles via Internet opèrent en temps réel ou
quasi réel et nécessitent une évaluation et une action en temps réel.

• variété:La variété fait allusion aux nombreux types de données disponibles. Les types de données
traditionnels ont été structurés et trouvent naturellement leur place dans une base de données
relationnelle. Avec l’augmentation du Big Data, les données ne sont pas nécessairement structurées.
Les types de données non structurés et semi-structurés, tels que le texte, l’audio et la vidéo,
nécessitent un prétraitement supplémentaire pour en déduire le sens et prendre en charge les
métadonnées.

8
Les Trois autres « V » ont vu le jour ces dernières années :
• valeur:Ce V décrit la valeur qu’il est possible d’obtenir à partir des données et comment les
mégadonnées obtiennent de meilleurs résultats à partir de données stockées.
La Valeur fait référence à l’objectif, au scénario ou au résultat commercial que la solution
analytique doit prendre en compte. Les données ont-elles une valeur, sinon valent-elles la peine
d’être stockées ou collectées ? L’analyse doit être effectuée pour répondre aux considérations
éthiques.

• véracité:La véracité permet de vérifier la qualité et l’origine de l’information. Par exemple,


certaines data peuvent parraitre comme douteuses, conflictuelles ou impures. La véracité
fournit des informations sur des sujets que vous ne savez pas comment traiter. En un sens,
c’est un facteur d’hygiène. En montrant la véracité de vos données, vous montrez que vous
en avez jeté un regard critique.
• variabilité : Enfin, à quelle vitesse la structure des données change-t-elle? Et à quelle
fréquence la forme des données change-t-elle ?
L’important est d’établir si la structure contextuelle du flux de données est régulière et fiable
même dans des conditions d’imprévisibilité extrême. La variabilité définit la nécessité
d’obtenir des données significatives en tenant compte de toutes les circonstances possibles.

2. Fonctionnement du Big Data


Le Big Data offre de nouvelles perspectives, qui ouvrent de nouvelles opportunités et favorisent de
nouveaux business models. Son adoption implique trois actions principales :

• Intégrer
Le Big Data rassemble des données provenant de nombreuses sources et applications disparates.
Les mécanismes traditionnels d’intégration de données, tels que ETL (extract, transform, and
load) ne sont généralement pas à la hauteur de la tâche. Pour analyser des jeux de Big Data à
l’échelle de téraoctets, voire de pétaoctets, il est nécessaire d’adopter de nouvelles stratégies et
technologies.Lors de l’intégration, vous devez importer les données, les traiter et vous assurer
qu’elles sont formatées et disponibles sous une forme accessible à vos analystes.

• Gérer
Le Big Data nécessite du stockage. La solution de stockage peut se trouver dans le cloud, sur site,
ou les deux à la fois. On peut stocker les données sous la forme de notre choix et imposer à ces
jeux de données d’exigences de traitement, ainsi que les moteurs de traitement nécessaires, à la
demande. Nombreux sont ceux qui choisissent leur solution de stockage en fonction de l’endroit
où sont hébergées leurs données. Le cloud est de plus en plus adopté, car il prend en charge les
besoins informatiques actuels et laisse la possibilité d’augmenter les ressources en fonction des
besoins.

• Analyser
L’investissement dans le Big Data porte ses fruits dès lors que nous sommes en mesure d’analyser
les données et d’agir à partir de l’analyse. Forger un nouveau point de vue grâce à une analyse
visuelle des divers jeux de données. Explorer davantage les données afin de faire de nouvelles
découvertes. Créer des modèles de données avec l’apprentissage automatique et l’intelligence
artificielle. Exploitez vos données.
9
3. Machine Learning:
Machine Learning est une technologie d’intelligence artificielle permettant aux ordinateurs
d’apprendre sans avoir été programmés explicitement à cet effet. Pour apprendre et se développer,
les ordinateurs ont toutefois besoin de données à analyser et sur lesquelles s’entraîner. De fait, le Big
Data est l’essence du Machine Learning, et c’est la technologie qui permet d’exploiter pleinement le
potentiel du Big Data.

3.1. Comment fonctionne le Machine Learning

Le développement d’un modèle de Machine Learning repose sur quatre étapes principales. En règle
générale, c’est un Data Scientist qui gère et supervise ce procédé.
La première étape consiste à sélectionner et à préparer un ensemble de données
d’entraînement. Ces données seront utilisées pour nourrir le modèle de Machine Learning pour
apprendre à résoudre le problème pour lequel il est conçu.
Les données peuvent être étiquetées, afin d’indiquer au modèle les caractéristiques qu’il devra
identifier. Elles peuvent aussi être non étiquetées, et le modèle devra repérer et extraire les
caractéristiques récurrentes de lui-même.
Dans les deux cas, les données doivent être soigneusement préparées, organisées et nettoyées. Dans
le cas contraire, l’entraînement du modèle de Machine Learning risque d’être biaisé. Les
résultats de ses futures prédictions seront directement impactés.
La deuxième étape consiste à sélectionner un algorithme à exécuter sur l’ensemble de données
d’entraînement. Le type d’algorithme à utiliser dépend du type et du volume de données
d’entraînement et du type de problème à résoudre.
La troisième étape est l’entraînement de l’algorithme. Il s’agit d’un processus itératif. Des variables
sont exécutées à travers l’algorithme, et les résultats sont comparés avec ceux qu’il aurait du produire.
Les ” poids ” et le biais peuvent ensuite être ajustés pour accroître la précision du résultat.
On exécute ensuite de nouveau les variables jusqu’à ce que l’algorithme produise le résultat
correct la plupart du temps. L’algorithme, ainsi entraîné, est le modèle de Machine Learning.
La quatrième et dernière étape est l’utilisation et l’amélioration du modèle. On utilise le modèle
sur de nouvelles données, dont la provenance dépend du problème à résoudre.Par exemple, un
modèle de Machine Learning conçu pour détecter les spams sera utilisé sur des emails.
De son côté, le modèle de Machine Learning d’un aspirateur robot ingère des données résultant
de l’interaction avec le monde réel comme le déplacement de meubles ou l’ajout de nouveaux
objets dans la pièce. L’efficacité et la précision peuvent également s’accroître au fil du temps.

3.2. Les principaux algorithmes de Machine Learning

De manière général, un algorithme désigne un ensemble d’opérations ordonnés et finies qui doivent
être suivies dans un ordre donné pour résoudre un problème.
Il existe une large variété d’algorithmes de Machine Learning, les algorithmes de Machine Learning
sont une classe bien spécifique d’algorithmes enseignés dans une formation Data, ils ne reçoivent
pas d’instructions contrairement à beaucoup d ‘autres algorithmes.
Ce sont des programmes a même d ‘apprendre en toute autonomie à partir des données. Ils sont
ainsi capables d’améliorer avec les entraînements et sont employés pour accomplir des tâches
comme la simple analyse de donnes ou de prédictions.

10
Les algorithmes développés en Machine Learning, peuvent être rangées en quatre catégories :
L’apprentissage supervisé, l’apprentissage non supervisé, l’apprentissage semi-supervisé et
l‘apprentissage par renforcement

Figure 1 : Types d'algorithme en Machine Learning

On dispose déjà d’étiquettes sur des données historiques et on cherche à classifier des nouvelles
données. Le nombre de classes est connu.
Cet Algorithme est accordé au deux grands concepts la Classification et la Prédiction
Alors En apprentissage supervisé, les opérateurs présentent des exemples d'entrées et de sorties à
l'ordinateur qui cherchent alors activement des solutions pour obtenir ces sorties selon les
entrées. L'objectif est que la machine apprenne la règle mappant les entrées et les sorties. Plus
concrètement, dans le Machine Learning avec supervision, les données présentées à la machine sont
le plus souvent étiquetées afin de lui indiquer les patterns qu'il doit rechercher. Il n'est pas rare que
les données en question soient déjà classifiées de la façon dont le système sera amené à le faire
après entraînement.
L'apprentissage avec supervision nécessite moins de données d'entraînement. Le processus s'en
trouve également facilité en raison de la comparaison avec les données déjà étiquetées. On utilise
notamment le Machine Learning avec supervision pour faire des prédictions sur des données
futures. La prédiction se fait sur une nouvelle observation, lorsqu’il s’agit d’une variable
numérique(continue) on parle de régression. Dans ce cas, l'algorithme à partir de variables d'entrée
développe une fonction capable de prédire précisément.
Comme déjà dit on distingue principalement deux types d'algorithmes parmi les algorithmes
d'apprentissage : les algorithmes de classification et de régression. La classification permet de
prédire le résultat d'un échantillon donné pour les variables de sortie qui se présentent sous forme
de catégorie. La régression par contre est utilisée pour prédire le résultat d'un échantillon lorsque
la variable de sortie est une valeur réelle spécifique.

11
Les 5 principaux algorithmes dans l’apprentissage supervisé on utilise :
Les algorithmes de régression: linéaire ou logistique, permettent de comprendre les relations
entre les données.
⚫ est utilisée pour prédire la valeur d’une variable dépendante basé sur la valeur
d’une variable indépendante. Il s’agirait par exemple de prédire les ventes annuelles d’un
commercial en fonction de son niveau d’études ou de son expérience. On utilise ces estimations de
régression pour expliquer les relation entre variable dépendante et une ou plusieurs variables
indépendantes. La forme la plus simple de l’équation de régression avec une variable dépendante
et une variable indépendante est définie par la formule y = c + b * x, avec y = variable dépendante
estimé, c = constante, b = coefficient de régression et x = variable indépendante. On parle ici de
Régression linéaire simple. Pour la regression linéaire multiple on écrira y = c + b * x1 +…+ n*xn avec
x1 jusqu’à xn les variables indépendantes et b jusqu’à n les coefficient de regression respectifs des
variables.

Figure 2 : exemple de régression linéaire

⚫ est quant à elle utilisée quand les variables dépendantes sont binaires. Un
autre type d’algorithme de régression appelé machine à vecteur de support est pertinent quand les
variables dépendantes sont plus difficiles à classifier.Les prédictions de régression linéaire sont des
valeurs continues (températures en degrés), les prévisions de régression logistique sont des valeurs
discrètes, c’est-à-dire un ensemble fini de valeurs (Vrai ou faux par exemple). La régression logistique
convient mieux à la classification binaire. Par exemple, on peut considérer un ensemble de données
où y = 0 ou 1, où 1 représente la classe par défaut. Pour illustrer on peut imaginer que l’on veuille
prédire si il pleuvra ou non. On aura 1 pour si il pleut et 0 le cas contraire.Au contraire de la régression
linéaire, la régression logistique, propose le résultat sous forme de probabilités de la classe par
défaut. Le résultat appartient donc à l’intervalle [0 :1]. C’est-à-dire qu’il est compris entre 0 et 1, vu
qu’il s’agit d’une probabilité. La valeur y de sortie est générée par la transformation de la valeur x, à
l’aide de la fonction logistique h (x) = 1 / (1 + e ^ -x). Un seuil est ensuite appliqué pour forcer cette
probabilité dans une classification binaire.

Figure 3 :exemple de régression logistique


12
Les machines à vecteurs de support ou SVM (Séparateurs à vastes marges) sont des algorithmes qui
séparent les données en classes. Pendant l’entraînement, un SVM trouve une ligne qui sépare les
données d’un jeu en classes spécifiques et maximise les marges (les distances entre les frontières de
séparation et les échantillons les plus proches) de chaque classe. Après avoir appris les lignes de
classification, le modèle peut ensuite les appliquer aux nouvelles données.Les spécialistes placent le
SVM dans la catégorie des « classificateurs linéaires » : l’algorithme est idéal pour identifier des
classes simples qu’il sépare par des vecteurs nommés hyperplans. Il est également possible de
programmer l’algorithme pour les données non linéaires, que l’on ne peut pas séparer clairement
par des vecteurs. Mais, avec des données d’entraînement hypercomplexes – visages, traits de
personnalité, génomes et matériel génétique – les systèmes de classes deviennent plus petits et plus
difficiles à identifier et nécessitent un peu plus d’assistance humaine.
Les machines à vecteurs de support sont très utilisées dans la finance. Elles offrent une grande
précision sur les données actuelles et futures. Les modèles associés peuvent servir à comparer
virtuellement les performances financières relatives, la valeur et les retours sur investissement. Les
SVM dits non linéaires sont souvent mis à contribution pour classifier des images (vision par
ordinateur) ou des mots, des phrases et des entités (NLP).

Figure 4 : exemple d'algorithme SVM

L'arbre de décision est un algorithme très populaire qui se base sur un modèle de graphe. L'arbre
commence par une racine qui présente toutes les observations. On distingue ensuite une série de
branches dont les intersections sont appelées nœuds. Ceux-ci se terminent par des feuilles qui
correspondent aux différentes classes à prédire. Chaque arbre est caractérisé par sa profondeur qui
n'est rien d'autre que le nombre maximum de nœuds rencontrés avant d'atteindre une feuille. Dans
un arbre de décision, les données sont divisées en deux, voire plusieurs jeux homogènes. De même,
tous les nœuds comportent une condition. De cette façon, plus on descend plus nombreuses
deviennent les conditions.

Figure 5 : exemple d’algorithme d’arbre de décision

13

L’algorithme K-NN qui signifie k-voisins les plus proches utilise l’intégralité du data set en tant
qu’entraînement, au lieu de diviser se dernier en un training et testing set.
Quand un résultat est requis pour une nouvelle instance de données, l’algorithme KNN parcourt
l’intégralité du data set pour rechercher les k-instances les plus proches de la nouvelle instance ou le
nombre k d’instances les plus similaires au nouvel enregistrement, puis renvoie la moyenne de les
résultats ou le classe à laquelle appartient cette instance si c’est un problème de classification.
L’utilisateur spécifie lui même la valeur de k.

Figure 6 : exemple d ‘algorithme de KNN

Non Supervisé
Au contraire, en apprentissage non supervisé, vous n’avez pas d’étiquettes, pas de classes prédéfinies.
Vous souhaitez repérer des motifs communs afin de constituer des groupes homogènes à partir de
vos observations.
Exemple :
Vous souhaitez classifier vos clients d’après leur historique de navigation sur votre site internet mais
vous n’avez pas constitué de groupes à priori et êtes dans une démarche exploratoire pour voir quels
seraient les groupes de clients similaires (behavioural marketing). Dans ces cas un algorithme de
clustering (partitionnement) est adapté.

l'apprentissage sans supervision ou apprentissage des caractéristiques, l'algorithme se charge de


déterminer seul la structure des données d'entrée. Aucune des données n'est annotée et la machine
s'applique à explorer les données afin d'identifier des patterns. Cette approche permet d'identifier
des relations qui peuvent facilement échapper à l'attention des humains. L'algorithme de
reconnaissance faciale de Facebook est un bel exemple de Machine Learning sans supervision.
On distingue également différents types d'apprentissages sans supervision : le clustering,
l'association, la réduction de dimensionnalité. Le clustering permet de regrouper des échantillons
de façon homogène dans différents groupes ou clusters. Les objets contenus dans chacun d'eux sont
plus similaires entre eux qu'ils ne le sont avec ceux d'autres groupes. En data sciences, l'association
est utilisée pour identifier les règles qui permettent de définir de grands groupes de données. La
réduction de dimensionnalité comme l'indique son nom est employée pour réduire le nombre de
variables d'un ensemble de données tout en veillant à la transmission des informations importantes.

14
Les principaux algorithmes dans l apprentissage non supervisé on utilise :

Cet algorithme d’exploration de données cherche les affinités entre deux éléments d’un jeu de
données afin d’identifier s’il y a une corrélation négative ou positive entre eux.
L’algorithme Apriori est très utilisé par les équipes commerciales qui cherchent à savoir quels
produits un client va-t-il possiblement acquérir avec un autre. Si un pourcentage élevé de clients qui
achètent du pain achètent aussi du beurre, alors l’algorithme peut conclure que l’achat du produit A
(le pain) sera souvent suivi par celui du produit B (le beurre). Ces données peuvent être croisées dans
des ensembles de données, des points de données et des ratios d’achat.
Un tel algorithme peut également déterminer que l’acquisition d’un élément A n’a de 10 % de
changes de conduire de l’achat d’un produit C. Les équipes de marketing peuvent utiliser ces
informations pour élaborer des stratégies d’agencement de produits dans un magasin, par exemple.
Les algorithmes Apriori sont particulièrement appréciés par les géants du e-commerce tels
qu’Amazon et Alibaba. Les éditeurs de moteur de recherche les utilisent pour prédire la prochaine
requête d’un internaute, tandis que Netflix l’utilise comme un outil de recommandation du prochain
contenu à regarder.

L’algorithme K-means s’appuie sur une méthode itérative pour trier des points de données en
groupes basés sur des caractéristiques similaires. Par exemple, un modèle de ce type classifierait les
résultats Web du mot talisman en un groupe relatif à un objet disposant de vertus de protection et
un autre au modèle de voiture produit par le groupe Renault, la berline Renault Talisman.
La répartition en K-moyennes a la réputation d’être précise, tout en étant capable de gérer des
groupes de données en un laps de temps relativement court. Ce type d’algorithme est aussi bien
utilisé par les éditeurs de moteur de recherche pour proposer des résultats pertinents ou par des
entreprises qui veulent classifier les comportements des utilisateurs. Cette technique s’avère
également efficace dans le contexte d’analyse de performances informatiques.

Figure 7 : exemple d algorithme de K-Means

Le clustering hiérarchique, ou hierarchical clustering, est un autre algorithme de clustering, qui créé
une structure s’apparentant à un arbre. On appelle cette structure un dendrogramme. Ce type de
clustering peut être divisé en deux catégories : les classifications descendantes hiérarchiques et les
classifications ascendantes hiérarchiques. Dans le cas d’une classification descendante hiérarchique,
tous les points commencent par être assignés à un même groupe puis, lorsque le modèle est affiné,
les points sont séparés en clusters jusqu’à ce qu’il y est un cluster pour chaque point. A l’inverse,
dans le cas d’une classification ascendante hiérarchique, chaque point commence par être considéré
comme son propre groupe puis, lorsque le modèle est affiné, des paires de clusters sont combinés,
en fonction de leurs similarités, en un grand groupe contenant toutes les observations.
15
Figure 8 : exemple d'algorithme de clustering hierarchique

Les méthodes d’apprentissage semi-supervisé combinent données étiquetées et non étiquetées.Il se


situe ainsi entre l'apprentissage supervisé qui n'utilise que des données étiquetées et l'apprentissage
non-supervisé qui n'utilise que des données non-étiquetées Les algorithmes de ce type se
nourrissent de certaines informations grâce à des catégories labélisées, des suggestions et des
exemples et permet d'améliorer significativement la qualité de l'apprentissage. Ensuite, ils créent
leurs propres labels en explorant les données par eux-mêmes, en suivant un schéma rudimentaire
ou les indications de data scientists.

Les principaux algorithmes dans l apprentissage semi-supervisé on utilise :


Les réseaux antagonistes génératifs (generative adverserial networks ou GAN en anglais) sont des
modèles qui imitent la distribution de données. Deux réseaux sont placés en compétition afin de
déterminer la meilleure solution à un problème. Un des réseaux neuronaux, appelé générateur, se
nourrit des données d’entrée pour générer une sortie passable, tandis que le second, le
discriminateur, s’appuie sur la sortie du premier pour y repérer les défauts et l’améliorer.
Ce processus est répété autant de fois que nécessaire pour trouver une réponse idéale à un
problème. Dans l’industrie, la fabrication de pièces est l’un des scénarios possibles, même si les
informations en entrée sont limitées. Un ingénieur indique les dimensions et les paramètres (ses
données d’entrée) pour fabriquer la structure d’une pièce (le résultat) qu’il imprimera ensuite en
trois dimensions. Ce procédé permet d’itérer jusqu’à trouver la forme, la structure ou encore les
matériaux idéaux pour la mettre en production. Dans la production audiovisuelle (notamment dans
l’industrie vidéoludique), cette technique permet de générer des visages, des objets ou des
morceaux de musique.

Le classificateur bayésien naïf (Naive Bayes) s’appuie sur le théorème de Bayes fondé sur les
probabilités conditionnelles. Cet algorithme est utilisé par les chercheurs pour reconnaître des
classes d’objets sur jeux de données étiquetés. Ensuite, l’algorithme est entraîné sur des données
non étiquetées. Une fois ce cycle terminé, les chercheurs associent les étiquettes et relancent
l’entraînement. Cette technique est particulièrement utilisée dans le cadre du traitement du langage
naturel ou pour labéliser des jeux de données sans faire appel à des services comme Amazon
Mechanical Turk. Certains éditeurs, dont TIBCO Software, utilisent la classification bayésienne
naïve au sein de leurs produits.

16
Les algorithmes d’apprentissage par renforcement sont basés sur des systèmes de récompenses et
de punitions. L’algorithme se voit assigner un objectif et cherche à s’en rapprocher pour obtenir une
récompense maximale. Il se base sur des informations limitées et apprend de ses actions
précédentes. Ces algorithmes peuvent dépendre d’un schéma (un modèle) ; ils doivent alors suivre
des étapes prédéfinies et le nombre d’erreurs et d’essais est limité. D’autres ne se reposent pas sur
un schéma et interprètent à chaque nouvel essai.
Les principaux algorithmes dans l ‘apprentissage par renforcement on utilise :

Il existe de nombreux algorithmes de reinforcement learning catégorisés en plusieurs sous-familles.


Le Q-learning est à la fois relativement simple et permet en même temps de comprendre des
mécanismes d’apprentissage communs à beaucoup d’autres modèles.
Pour illustrer de manière introductive, un algorithme de Q-learning fonctionne pour résoudre un
problème basique. Par exemple, dans le jeu du labyrinthe, l’objectif du jeu est d’apprendre au robot
à sortir du labyrinthe le plus rapidement possible alors qu’il est placé aléatoirement sur l’une des
cases blanches. Pour cela, il y a trois étapes centrales dans le processus d’apprentissage :
✓ Connaitre : définir une fonction action-valeur Q ;
✓ Renforcer ses connaissances : mettre à jour la fonction Q ;
✓ Agir : adopter une stratégie d’actions PI
Ainsi, le Q-learning est un algorithme d’apprentissage par renforcement qui cherche à trouver
la meilleure action à entreprendre compte tenu de l’état actuel. Il est considéré comme hors
politique parce que la fonction de Q-learning apprend des actions qui sont en dehors de la politique
actuelle, comme prendre des actions aléatoires, et donc une politique n’est pas nécessaire. Plus
précisément, le Q-learning cherche à apprendre une politique qui maximise la récompense totale.
Le “Q” de Q-learning est synonyme de qualité. Dans ce cas, la qualité représente l’utilité d’une action
donnée pour obtenir une récompense future.


À l’inverse du Q-Learning, les algorithmes basés sur un modèle ont une liberté limitée pour créer des
états et des actions. Cela leur apporte néanmoins une efficacité statistique supérieure. Ils sont
formés avec des données spécifiques et des actions de base en provenance de l’environnement via
un entraînement supervisé. Cela permet en principe d’accélérer l’apprentissage. Un tel algorithme
peut servir de référentiel dans le cadre du déploiement d’un jumeau numérique. Il est possible de
combiner cette méthode avec du Q Learning comme l’ont fait les chercheurs de DeepMind pour créer
MuZero.
Alors L’apprentissage par renforcement ou Reinforcement Learning est une méthode de Machine
Learning. Elle consiste à entraîner des modèles d’intelligence artificielle d’une manière bien
spécifique.
L’agent IA doit apprendre à atteindre un objectif au sein d’un environnement incertain et
potentiellement complexe. Pour y parvenir, l’ordinateur essaye toutes les façons possibles et
apprend de ses erreurs.

17
4. Intelligence Artificielle :
L'intelligence artificielle (IA) renvoie à "une application capable de traiter des tâches qui sont, pour
l'heure, réalisées de manière plus satisfaisante par des êtres humains dans la mesure où elles
impliquent des processus mentaux de haut niveau comme l'apprentissage perceptuel, l'organisation
de la mémoire et l'esprit critique". C'est ainsi que le scientifique américain Marvin Lee Minsky,
considéré comme le père de l'IA, définit ce concept.
L'intelligence artificielle s’utilise en different domaine citons :l’Automobile, banque-finance,
logistique, énergie, industrie... Aucun secteur d'activité n'est épargné par la montée en puissance de
l'intelligence artificielle. Et pour cause, les algorithmes de machine learning se déclinent à tous les
étages en fonction des problématiques business.
Dans l'automobile, l'intelligence artificielle motorisent les véhicules autonomes via des modèles de
deep learning (ou réseaux de neurones). Dans la banque-finance, elle estime les risques de
placements ou de trading. Dans le transports, elle calcule les meilleurs itinéraires et optimisent les
flux au sein des entrepôts. Dans l'énergie comme le retail, elle prévoit la consommation des clients
en vue d'optimiser les stocks et la distribution. Enfin dans l'industrie, elle permet d'anticiper les
panne des équipements (que ce soit pour un robot sur une chaîne de montage, un serveur
informatique, un ascenseur...) avant même qu'elles se produisent. Objectif : réaliser les opérations
de maintenance de manière préventive.
Au quotidien, l'intelligence artificielle est aussi utilisée pour mettre en œuvre les assistants
intelligents (chatbot, callbot, voicebot) ou les appareils photos des smartphones pour prendre un
cliché en toute circonstance.

5. Conclusion :
Pour conclure ce chapitre nous disons que Sans le Big Data, le Machine Learning et l’intelligence
artificielle ne seraient rien. Les données sont l’instrument qui permet à l’IA de comprendre et
d’apprendre à la manière dont les humains pensent. C’est le Big Data qui permet d’accélérer la
courbe d’apprentissage et permet l’automatisation des analyses de données. Plus un système
Machine Learning reçoit de données, plus il apprend et plus il devient précis.
L’intelligence artificielle est désormais capable d’apprendre sans l’aide d’un humain. Par
exemple, l’algorithme Google DeepMind a récemment appris seul à jouer à 49 jeux vidéo Atari. Par
le passé, le développement était limité par le manque d’ensembles de données disponibles, et par
son incapacité à analyser des quantités massives de données en quelques secondes.
Aujourd’hui, des données sont accessibles en temps réel à tout moment. Ceci permet à l’IA et au
Machine Learning de passer à une approche dirigée par les données. La technologie est désormais
suffisamment agile pour accéder aux ensembles de données colossaux et pour les analyser. De fait,
des entreprises de toutes les industries se joignent désormais à Google et Amazon pour implémenter
des solutions IA pour leurs entreprises.

18
Chapitre 2 Technologies et environnement de travail :
En cette phase nous indiquons les diffèrent outils et technologies utilisés ainsi l ‘environnement de
travail pour la réalisation de ce mini-projet :

I. Outils utilisés :
1. Oracle 11g :
Après avoir installé le logiciel Oracle Database 11g, vous pouvez créer une ou plusieurs bases de
données (généralement, vous devez créer une seule base de données). Dans chaque base de
données, vous pouvez créer un ou plusieurs SCHEMA. Chaque SCHEMA est un système de table et
objets comme function (les fonctions), procedure (la procédure), package (le pacquet), etc. La structure
d'Oracle 11g est similaire à l'image illustrative suivante:

Figure 9 :structure oracle 11g

2. Oracle 12 c:
Oracle Database 12c est un système de gestion de base de données relationnelle (SGBDR). Conçu
pour des usages sur site et Cloud, il peut être déployé en cluster ou sur un serveur indépendant. Il
fournit des fonctions exhaustives de gestion des données pendant le traitement transactionnel et
des applications d’informatique décisionnelle et de gestion des contenus.
Oracle 12c a de réels changements de structure par rapport à Oracle 11g. Oracle 12c est vraiment une
base de données en nuage.
La définition de la base de données dans 11g est similaire à celle de Container Database (CDB) en 12c. En
particulier, après l'installation d'Oracle 12c, vous pouvez créer une ou plusieurs bases de données de
conteneur (CDB). (En fait, 1 est suffit).
Dans Oracle 12c, il existe un nouveau concept qui est CDB$ROOT (ou appelé comme CDB
Root). CDB$Root est une Plugin Database particulière et est un objet de CDB. Les SCHEMA peuvent être
joints avec CDB$ROOT ou d'autres Plugin Database (PDB) sont joints avec CDB$ROOT. Chaque Plugin
Database contient 0 ou plusieurs SCHEMA.

Figure 10 : structure oracle 12c


19
3. Installation Oracle 12 c:
Etape1: Allez sur le site d’oracle et télécharger les deux fichiers concernant la base de données
Oracle 12c. et puis Décompresser les 2 fichiers winx64_12102_database_1of2.zip et
winx64_12102_database_2of2.zip

Figure 11 : fichier de telechargement des fichiers d 'orcale 12c


Utiliser: winx64_12102_database_1of2/database\ setup.exe pour lancer l’installation
Etape2: Après vérification de l’environnement nous obtenons la fenêtre suivante :

Figure 12 : etape 1 d'installation


Décocher la case. Je souhaite recevoir les mises à jour:

Figure 13 : Message de Mise a jour


Etape3: Comme c’est la première installation, on coche sur créer et configurer une base de données,
puis sur suivant :

Figure 14 : etape 3-1


20
Puis ceci Cochez classe de BUREAU

Figure 15 : etape 3-2


Étape 4 :À cette étape, Oracle recommande d’utiliser un compte Windows avec un minimum de
droits pour installer et configurer le répertoire d’origine. Mais, nous allons quand même utiliser un
compte intégré Windows pour réduire les erreurs à l’installation.

Figure 16 : etape 4
Étape 5 : Type d’installation
Laissez les valeurs que le processus d’installation a mis pour « Répertoire de base Oracle Base », «
Emplacement du logiciel » et « Emplacement des fichiers de base de données ».
On Met « orcl » comme nom global de la base de données.et « Oracle12c » comme mot de passe
même s’il n’est pas conforme, puis « Suivant ».

21
Figure 17 : etape 5

Etape 6: Récapitulatif
Oracle vérifie la configuration et affiche le récapitulatif : (la figure suivante et celle d’Oracle 11gR2,
Vous allez avoir la même figure pour Oracle 12c

Figure 18 : etape 6
Cliquez sur fin, le processus d’installation va alors commencer. Ce processus prend au moins 20
minutes. Soyez patients Vous allez avoir les deux figures suivantes.
Étapes 7 et 8

22
Figure 19 : etape 7 et 8
Pendant l’installation,pour obtenir des informations importantes contenues dans la figure ci
dessous :
On Remarque : le nom de la bd, le nom du SID, le nom du répertoire de la BD et l’adresse web à partir
de laquelle on peut effectuer la gestion de la bd. Cette adresse selon est https://localhost:5500/em ,
cette adresse dépend de la version de la BD installée.

Figure 20 : Message assistant configuration de base de donnees


L’installation est terminée lorsque vous aurez cette fenêtre qui indique que l’opération d’installation
de la base de données Oracle a réussi.

Figure 21 : etape final de l’installation


23
4. Anaconda :

Figure 22 : Navigateur 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 (traitement de données à grande échelle, analyse
prédictive, calcul scientifique), qui vise à simplifier la gestion des paquets et de déploiement. Les
versions de paquetages sont gérées par le système de gestion de paquets conda.

5. Python:

Figure 23 : Python

Python est le langage de programmation open source le plus employé par les informaticiens. Ce
langage s’est propulsé en tête de la gestion d’infrastructure, d’analyse de données ou dans le
domaine du développement de logiciels. Ainsi, développer du code avec Python est plus rapide
qu’avec d’autres langages.

6. Visual studio code :

Figure 24 : Visual Studio Code


Visual Studio Code est un éditeur de code source léger mais puissant qui s'exécute sur votre bureau.
Il est livré avec un support intégré pour JavaScript, TypeScript et Node.js et dispose d'un riche
écosystème d'extensions pour d'autres langages (Python, PHP, Java…) et moteurs d'exécution (tels
que .NET et Unity).
24
7. Jupyter:

Figure 25 : Jupyter
Jupyter est une application web utilisée pour programmer dans plus de 40 langages de programmation,
dont Python, Julia, Ruby, R, ou encore Scala2. 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. Jupyter est une évolution du
projet IPython. Jupyter permet de réaliser des calepins ou notebooks, c'est-à-dire des programmes contenant à la fois
du texte en markdown et du code. Ces calepins sont utilisés en science des données pour explorer et analyser des
données.

8. Kaggle:

Figure 26 : Kaggle
Kaggle est une plateforme web qui accueille la plus grande communauté de Data Science au monde,
avec plus de 536 000 membres actifs dans 194 pays et reçoit près de 150 000 soumissions par mois,
et qui lui fournit des outils et des ressources puissants pour aider à atteindre tous les progrès de
science des données. Kaggle, de la même manière que Datascientest , offre un environnement Jupyter
Notebooks personnalisable et sans configuration. Sont accessibles gratuitement des GPU et une
grande quantité de données et de codes publiés par la communauté. À l’intérieur de Kaggle, vous
trouverez tout le code et les données dont vous avez besoin pour réaliser vos projets de science des
données. Il y a plus de 50 000 jeux de données publics et 400 000 notebooks publics disponibles pour
tous.
sur Kaggle un utilisateur peut :
• Trouver et publier des bases de données
• Explorer et construire des modèles sur un environnement web adapté
• Travailler avec d’autres professionnels et passionnés
• Faire des compétitions pour se challenger sur des sujets innovants

II. Bibliothèque utilisés :

Figure 27 : importation des bibliotheque


25
1. Pandas:
La bibliothèque logicielle open-source Pandas est spécifiquement conçue pour la manipulation et
l’analyse de données en langage Python. Elle est à la fois performante, flexible et simple
d’utilisation.
Grâce à Pandas, le langage Python permet enfin de charger, d’aligner, de manipuler ou encore
de fusionner des données. Les performances sont particulièrement impressionnantes quand le
code source back-end est écrit en C ou en Python.
Le fonctionnement de Pandas repose sur les ” DataFrames ” : des tableaux de données en deux
dimensions, dont chaque colonne contient les valeurs d’une variable et chaque ligne contient un
ensemble de valeurs de chaque colonne. Les données stockées dans un DataFrame peuvent être
des nombres ou des caractères.
Les Data Scientists et programmeurs initiés au langage de programmation R pour le calcul statistique
utilisent les DataFrames pour stocker les données sous forme de grilles très simples à passer
en revue. C’est la raison pour laquelle Panda est très utilisé pour le Machine Learning.
Cet outil permet d’importer et d’exporter les données dans différents formats comme CSV ou JSON.
Par ailleurs, Pandas offre aussi des fonctionnalités de Data Cleaning.
Cette bibliothèque est très utile pour travailler avec des données statistiques, des données tabulaires
comme des tableaux SQL ou Excel, avec des données de séries temporelles, et avec
des données de matrices arbitraires avec étiquettes de lignes et de colonnes.

2. Numpy:
Le terme NumPy est en fait l’abréviation de ” Numerical Python “. Il s’agit d’une bibliothèque
Open Source en langage Python. On utilise cet outil pour la programmation scientifique en Python,
et notamment pour la programmation en Data Science, pour l’ingénierie, les mathématiques ou la
science.
Cette bibliothèque est très utile pour effectuer des opérations mathématiques et statistiques
en Python. Elle fonctionne à merveille pour la multiplication de matrices ou de tableaux
multidimensionnels. L’intégration avec C/C++ et Fortran est très facile.

3. Seaborn:
Seaborn est une bibliothèque qui offre la possibilité de résumer et de visualiser des données. Elle
permet de créer de jolis graphiques statistiques en Python. Cette bibliothèque apporte des
fonctionnalités inédites qui favorisent l'exploration et la compréhension des données. Son interface
utilise de fonctions intuitives qui assurent notamment la cartographie sémantique et aident à la
conversion des données en graphiques statistiques à visualiser.
Il convient de voir Seaborn comme un complément de la bibliothèque principale de visualisation de
données en Python et non comme un remplaçant. Et pour cause, bien souvent, Matplotlib est
toujours utilisé pour des graphiques simples et un certain niveau de connaissances de cette
bibliothèque est nécessaire pour modifier des tracés effectués avec Seaborn.

4. Matplotlib:
Matplotlib est une bibliothèque Python capable de produire des graphes de qualité. matplotlib peut
être utilisé dans des scripts Python, le shell Python et IPython, le notebook Jupyter, des serveurs
d’application web et dans quatre outils d’interface graphique.

26
Matplotlib essai de rendre les tâches simples “simples” et de rendre possible les choses compliqués.
Vous pouvez générer des graphes, histogrames, des spectres de puissance (lié à la transformée de
Fourier), des graphiques à bares, des graphiques d’erreur, des nuages de dispersion, etc… en
quelques lignes de code. Pour des graphiques simples, le module matplotlib.pyplot fournit une
interface comme MATLAB spécialement adaptée avec IPython.

5. Scikit-learn:
Encore appelé sklearn, est la bibliothèque la plus puissante et la plus robuste pour la machine
learning en Python. Elle fournit une sélection d’outils efficaces pour l’apprentissage automatique et
la modélisation statistique, notamment la classification, la régression et le clustering via une interface
cohérente en Python. Cette bibliothèque, qui est en grande partie écrite en Python, s’appuie sur
NumPy, SciPy et Matplotlib.
•des outils simples et efficaces pour l'analyse prédictive des données
•Accessible à tous et réutilisable dans divers contextes
•Construit sur NumPy, SciPy et matplotlib
•Open source, utilisable commercialement - licence BSD

27
Chapitre 3 : étude de cas ("HOUSING PRICE PREDICTION")

I. Introduction :
Selon les chapitres ci-dessus nous avons vu et définis les différents algorithmes de machine
learning dont chacun d’eux à sa propre spécialité tels que la prédiction , classification , exploration
des données .
Pour notre mini-projet nous avons choisi de travailler sur un problème qu’on le confronte dans notre
vie quotidienne est :
“house pricing prediction (“prédictions des prix de maison”)“ , en utilisant 5 algorithmes spécifiées
en prédiction ou nous remarquons comme conclusion le meilleur d’entre eux .

1. Objective
Notre objectif pour ce projet est de créer une solution de bout en bout capable de prédire les prix
des maisons en exploitant les algorithmes de machine learning en se basant sur des données de
dataset , en suivant des étapes que l ‘ on citant au long de ce chapitre et cela pour le but de prédire
à la fin le prix des maisons.

2. Démarche suivie:
• Importation de data: Choisir dataset la plus convenable pour notre cas du cote qualité et
quantité des données ou ses dernier en un impact direct sur l'efficacité du modèle résultant.
Pour développer leur capacité à accumuler des connaissances et à prendre des décisions de façon
autonome, les machines ont en effet besoin de consommer une grande quantité d ‘ informations ,
plus celles-ci sont nombreuses et fiables, plus le résultat obtenu sera précis et adapté aux besoins.
• préparer les donnnees: Un modèle d’apprentissage réussi passe avant tout par des données de
qualité , il est donc nécessaire de prétraiter les données recueillies afin d’en extraire tout le
potentiel. Données mal annotées, data non disponibles, doublons, informations incohérentes ou
superflues… L’intégration des données peut engendrer un certain nombre de complications au
sein de votre entrepôt de données. Cette étape vise donc à nettoyer et à normaliser (rendre
comparables) les données brutes , voir a les améliorer et Rendre ce type de données cohérentes
et exploitables par les algorithmes
• déterminer le bon modele: les données sont maintenant prêtes à être utilisées. La phase
suivante : choisir le bon algorithme pour traiter le problème initial. Dans Notre cas nous avons
choisis de travaille avec 5 algorithmes sont :REGRESSION LINEAIRE ,KNN ,decision tree
classifier,NB,SVM .Et par la suite on choisissant le meilleur modèle entre eux.
• Entrainer et évaluer le modele: En cette étape, le test de training reste la phase la plus
caractéristique de l’apprentissage automatique. Alimenté en données, le modèle est entraîné sur
la durée afin d’améliorer de façon progressive sa capacité à réagir face à une situation donnée, à
résoudre un problème complexe ou à effectuer une tâche. Pour cette phase d'apprentissage, il
est recommandé de recourir à des données d ‘entrainement (aussi appelé “training set”).
L’ensemble des informations collectées s'avère bien souvent trop lourd et trop gourmand en
ressources : il suffit alors de sélectionner une partie du dataset (échantillonnage) afin d'entraîner
plus efficacement le modèle et de perfectionner ses prédictions.
28
• Tester le modele: Place à la pratique : cette dernière étapes de Machine Learning tend à
confronter le modèle à la réalité du terrain. Dans cette phase de test, on se sert de l’autre partie
des données, soit le dataset de test. Ce sous-ensemble d'informations affine le modèle grâce aux
scénarios ou données que l’ordinateur n’a pas encore expérimentés en phase d'entraînement.
Vous pouvez ainsi évaluer la performance du modelé.

II. Etude de cas


1. Importation de data :
Comme première étape nous avons créé la connexion :

Figure 28 : Connexion de base de donnees


Apres la création, l’établissement de la connexion en database , et la configuration de
l’environnement de travail nous passons à l’importation de data est cela par :

-
Figure 29 : Importation du DATA

29
Choisir le dataset à importer :

Figure 30 : Selection du DATASET


Dans cette étape le data a été télécharger et nous pouvons modifier le colonnes manuellement :

Figure 31 : verification du DATA


Finalement le data est téléchargé et nous pouvons l’exploiter :

Figure 32 : Telechargement du DATA dans la base de donnees

CX_Oracle est un module qui permet d'accéder à la base de données Oracle et est conforme à la
spécification de l'API de base de données Python.

Figure 33 : connexion cx_Oracle avec python


30
2. Préparation des données :
Apres le téléchargement de data nous passons à sa visualisation et voici les premiers lignes de notre
data ainsi ses types et sa dimension :

Figure 34 : Lecture du DATASET

Figure 35 : verification du dataset

Figure 36 : affichage de tous les colonnes

31
Amélioration de data :
Affichage et calcul de pourcentage des valeurs null dans chaque colonne et puis la suppression des
colonne qui ont une majorité de valeurs NULL:

Figure 37 : Nettoyage de data

Diviser data en 2 catégories une pour les valeurs “numériques” et une pour les valeurs “ object ”

Figure 38 : division du Data

- amélioration des données pour une bonne prédiction, remplacer les valeurs nulles par la médiane :

Figure 39 : amelioration des donnees


À l’aide du bibliothèque matloptlilb nous avons réalisé une nuance de point entre le “sale price”
Et les features de date pour une bonne visualisation

32
Figure 40 : representation en nuance de point
-convertir le valeurs de type object au type intfloat:

Figure 41 : converstion des valeurs categoriques vers des valeurs numeriques

3. Déterminer et évaluer le bon modele .


Apres avoir vérifier que notre data est bien améliorée du cote quantité et qualité ou tous les valeurs
nulles sont soit supprimer soit remplacer et convertir tous les types object en numériques on passe
à la phase de de choix du modele et l’évaluation , puisqu’ il s’agit d’ un problème de prédiction on
avait décidé de travailler avec quelques algorithme d’apprentissage supervisée: LINEAR
REGRISSION ,KNN ,SVM , NB , ARBRE DE DECISON en calculons par la suite leur performance dans le
but de choisir le bon modele:
La figure suivante nous montre la division de data en
• d ‘ entrainement (80%)
• 20 % le data de test :

Figure 42 : disivion du Data en TESTE / TRAIN

33
- les figures ci-dessous s’ agit d ‘entraînement des algorithmes et calcul de leurs performance

Figure 43 : Entrainement des algorithmes


La figure ci-dessous est un graphe comparatif qui montre clairement que l’algorithme de la régression
linéaire est le meilleur pour notre cas :

Figure 44 : graphe comparatif du models

4. Tester le modele
Cet extrait montre la prédiction faite par notre modèle de régression linéaire est voilà les résultats
obtenus :

Figure 45 : Resultat du prediction


34
Conclusion :

Pour conclure notre mini-projet se résume en deux point principaux :

• Machine Learning ou bien les algorithmes d'apprentissage automatique jouent un rôle très

important pour rendre notre expérience efficace, transparente et sécurisée et combinent entre

l’informatique et d’autres domaines différents.

• Dans notre étude de cas on a constaté que la régression linéaire est l’algorithme d’apprentissage

supervisée le plus performant au cas de prédiction mais Le modèle le moins performant parmi

les modèles est le NB (Naïve Bayes).

35
Bibliographiques
• https://www.jedha.co/blog/les-algorithmes-de-machine-

learning#:~:text=Le%20Machine%20Learning%20est%20une,d%27apprendre%20

de%20mani%C3%A8re%20autonome.

• https://medium.com/codex/house-price-prediction-with-machine-learning-in-

python-cf9df744f7ff

• https://www.kaggle.com/competitions/house-prices-advanced-regression-

techniques

• https://www.lebigdata.fr/machine-learning-et-big-data

36

Vous aimerez peut-être aussi