Académique Documents
Professionnel Documents
Culture Documents
PARCOURS
Digital Entrepreneurship
In Data Science
MACHINE LEARNING
Prédiction Des Prix Des Voitures
Occasions
A NNEE U NIVERSITAIRE
2020/2021
Table des matières
Introduction Générale 2
1 Méthodologie 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Achat Voiture Occasion : les clés pour faire le bon choix . . . . . . . . . . . . . . 9
2.2.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
i
TABLE DES MATIÈRES
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
ii
TABLE DES MATIÈRES
4.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5 Phase 4 : Modélisation 37
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7 Phase 6 : Déploiement 46
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
iii
TABLE DES MATIÈRES
7.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Conclusion Générale 53
iv
Table des figures
v
TABLE DES FIGURES
vi
TABLE DES FIGURES
6.2 La difference entre Best fitting , under fitting and Over fitting . . . . . . . . . . 43
vii
TABLE DES FIGURES
1
Introduction Génerale
Le Machine Learning est une technologie d’intelligence artificielle permettant aux ordina-
teurs 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, c’est la technologie qui permet
d’exploiter pleinement le potentiel du Big Data.
La principale différence entre les deux types réside dans le fait que l’apprentissage supervisé
se fait sur la base d’une vérité. En d’autres termes, nous avons une connaissance préalable de
ce que devraient être les valeurs de sortie de nos échantillons.
Par conséquent, l’objectif de l’apprentissage supervisé est d’apprendre une fonction qui, à
partir d’un échantillon de données et des résultats souhaités, se rapproche le mieux de la relation
entre entrée et sortie observable dans les données. En revanche, l’apprentissage non supervisé
n’a pas de résultats étiquetés. Son objectif est donc de déduire la structure naturelle présente
dans un ensemble de points de données.
Dans ce projet nous allons suivre une méthodologie specialisée machine learning dans le but
de préparer un modéle de régression performant au prediction des prix des voitures occasions
implimenté dans une interface web.
2
Chapitre 1
Méthodologie
1.1 Introduction
Comme l’utilisation de la science des données est en constante augmentation, la nécessite
de disposer d’une méthodologie structurée à suivre devient une étape très importante. Pour la
définir, une méthodologie est un ensemble de méthodes, de règles et de principes employés par
une discipline qui est, dans notre cas, la science des données.
3
CHAPITRE 1. MÉTHODOLOGIE
4
CHAPITRE 1. MÉTHODOLOGIE
donnent des résultats faux dans la phase suivante. Toutes ces données doivent en effet
être centralisées dans une base de données structurée et qui porte le nom de Data Hub.
— La modélisation
C’est la phase de Data Science proprement dite. La modélisation comprend le choix, le
paramétrage et le test de différents algorithmes ainsi que leur enchaînement, qui consti-
tue un modèle. Ce processus est d’abord descriptif pour générer de la connaissance, en
expliquant pourquoi les choses se sont passées. Il devient ensuite prédictif en expliquant
ce qu’il va se passer, puis prescriptif en permettant d’optimiser une situation future.
— L’évaluation
L’évaluation vise à vérifier le(s) modèle(s) ou les connaissances obtenues afin de s’assurer
qu’ils répondent aux objectifs formulés au début du processus. Elle contribue aussi à la
décision de déploiement du modèle ou, si besoin est, à son amélioration. A ce stade, on
teste notamment la robustesse et la précision des modèles obtenus.
— Le déploiement
Il s’agit de l’étape finale du processus. Elle consiste en une mise en production pour les
utilisateurs finaux des modèles obtenus. Son objectif : mettre la connaissance obtenue par
la modélisation, dans une forme adaptée, et l’intégrer au processus de prise de décision.
Le déploiement peut ainsi aller, selon les objectifs, de la simple génération d’un rapport
décrivant les connaissances obtenues jusqu’à la mise en place d’une application, permet-
tant l’utilisation du modèle obtenu, pour la prédiction de valeurs inconnues d’un élément
d’intérêt.
5
CHAPITRE 1. MÉTHODOLOGIE
— Une réponse aux défis clés pour les équipes de sciences des données en termes de compré-
hension des données et déploiement des analyses.
— Une technique simple et accessible permettant aux membres de l’équipe sans connaissance
en sciences des données de participer activement.
6
CHAPITRE 1. MÉTHODOLOGIE
1.4 conclusion
Pour la réussite d’un projet Data Science, il est important de suivre une démarche agile et
itérative comme la méthodologie CRISP-DM.
Cette méthodologie est agile et itérative, c’est-‘a-dire que chaque itération apporte de la
connaissance métier supplémentaire qui permet de mieux aborder l’itération suivante.
C’est d’ailleurs pour cette raison que la Data Science est plus une démarche globale qu’un
simple projet.
7
Chapitre 2
2.1 Introduction
Une fois qu’on a choisi notre méthodologie de travail, on commence par la première phase
de notre projet qui est la compréhension du métier.
Cette phase permet de définir le problème et identifier les objectifs métiers et les exigences de
la solution du point de vue commercial. Cette première étape est la plus difficile puisqu’elle va
orienter toutes les autres étapes et conditionner la réussite de notre application.
8
CHAPITRE 2. PHASE 1 : COMPRÉHENSION DU PROBLÈME MÉTIER
Pour une voiture d’occasion, la question du kilométrage est également essentielle. Si vous
roulez beaucoup, mieux vaut opter pour une voiture avec un kilométrage limité.
En effet, on considère qu’une voiture qui a beaucoup roulé est plus usée et ne sera pas
forcément capable de tenir la route encore longtemps. En revanche si vous roulez peu, un
véhicule avec beaucoup de kilomètres au compteur ne sera pas un frein.
Partout dans le monde, comme en PHILIPPINE, le marché automobile d’occasion est
la plus grande part du marché automobile global.
9
CHAPITRE 2. PHASE 1 : COMPRÉHENSION DU PROBLÈME MÉTIER
2.2.2 Solution
Avant de vous jeter dans un achat, il est utile de bien se renseigner pour faire le bon choix
et viser les bons plans.
10
CHAPITRE 2. PHASE 1 : COMPRÉHENSION DU PROBLÈME MÉTIER
Pour aider l’utilisateur à savoir le prix d’une voiture occasion en se basant sur des critères
spécifiques tels que : le nom (marque) ; transmission ; le type de carburant, nombre d’anciens
propriétaires, l’année où la voiture a été amenée, (etc.), là intervient le Data Science, plus
précisément le MACHINE LEARNING.
Nous allons développer un algorithme de machine learning permettant de prédire les prix de
voitures occasions en mettant en considération les critères définis.
Un data scientist cherche toujours la satisfaction de l’utilisateur. Dans ce contexte nous allons
intégrer notre modèle de prédiction dans une page web simple et facile à utiliser.
2.3 Conclusion
Une fois qu’on a bien compris notre métier, nous allons passer aux étapes de collecte des
données exigées et de compréhension des données. Dans notre cas, nous avons une dataset que
nous allons travailler avec. Donc l’´étape suivante ¸ça sera la compréhension des données.
11
Chapitre 3
3.1 Introduction
La phase de compréhension des données vise à déterminer précisément les données à ana-
lyser, à identifier la qualité des données disponibles et à faire le lien entre les données et leur
signification d’un point de vue métier
Notre motivation de choisir cette dataset parmi d’autres est que cette dernière possède
plusieurs critères décrivant une voiture occasion dont nous allons les découvrir et les analyser
pour sortir des critères ayant un impact direct sur le prix.
Nous allons télécharger notre dataset depuis Kaggle, la plateforme possédant un nombre
important de datasets, des notebooks/scripts publics, un forum et enfin des cours sur les prin-
cipales thématiques de la science des données.
12
CHAPITRE 3. PHASE 2 : LA COMPRÉHENSION DES DONNÉES
Python est le langage de programmation le plus utilisé dans le domaine du Machine Lear-
ning, du Big Data et de la Data Science.
13
CHAPITRE 3. PHASE 2 : LA COMPRÉHENSION DES DONNÉES
Comme environnement de travail nous allons utiliser le Google Colab, un outil Google simple
et gratuit pour vous initier au Machine Learning ou collaborer avec vos collègues sur des projets
en science des données.
Pandas
Pandas est un package Python open-source qui fournit des structures de données et des
outils d’analyse des données de haute performance et faciles à utiliser pour les données
étiquetées dans le langage Python. Pandas signifie Python Data Analysis Library. Pandas
est conçu pour la manipulation rapide et facile des données : La lecture, l’agrégation et
la visualisation.
Numpy
NumPy (pour Numerical Python) est un outil parfait pour le calcul scientifique et la
réalisation d’opérations de base et avancées avec des tableaux.
14
CHAPITRE 3. PHASE 2 : LA COMPRÉHENSION DES DONNÉES
Matplotlib
Grace à Matplotlib, on peut tracer des Histogrammes, graphiques ‘a barres, diagrammes
de dispersion, graphique de zone ‘a diagramme ‘a tarte. Matplotlib peut représenter les
données sous plusieurs visualisations.
Seaborn
Seaborn est la bibliothèque de visualisation de données basée sur Matplotlib qui four-
nit une interface de haut niveau pour dessiner des graphiques statistiques attrayants et
informatifs. Pour le dire simplement, seaborn est une extension de Matplotlib avec des
fonctionnalités avancées.
Sklearn
Scikit-learn est la principale bibliothèque d’outils dédiés à la machine learning et à la
data-science dans l’univers Python.
Il est recommander d’importer toutes les packages nécessaires dans une seule cellule pour
les exécuter une fois pour toute.
15
CHAPITRE 3. PHASE 2 : LA COMPRÉHENSION DES DONNÉES
Nous allons maintenant lire nos données d’un fichier csv dans un DataFrame Pandas, en
utilisant la méthode read-csv.
16
CHAPITRE 3. PHASE 2 : LA COMPRÉHENSION DES DONNÉES
Data.shape :
Nous pouvons voir la dimension du DataFrame
Data.head() :
Cette fonction renvoie les n premières lignes de l’objet en fonction de la position. Il est
utile pour tester rapidement si votre objet contient le bon type de données. Nombre de
lignes à sélectionner.
Data.info () :
La fonction info () est utilisée pour imprimer un résumé concis d’un DataFrame.
17
CHAPITRE 3. PHASE 2 : LA COMPRÉHENSION DES DONNÉES
Cette méthode imprime des informations sur un DataFrame, notamment les types de
colonne, les valeurs non NULL et l’utilisation de la mémoire.
Data.isna () :
La fonction isna () est utilisée pour détecter les valeurs manquantes. Il renvoie un objet
booléen de même taille indiquant si les valeurs sont NA. Valeurs NA, telles que Aucun
ou numpy. NaN, est mappé sur les valeurs True.
Nous avons ajouté la fonction .sum() pour afficher le nombre de valeurs manquantes
dans chaque colonne :
18
CHAPITRE 3. PHASE 2 : LA COMPRÉHENSION DES DONNÉES
Data.descripe () :
Describe () est utilisé pour afficher certains détails statistiques de base tels que le centile,
la moyenne, la norme, etc. d’une trame de données ou d’une série de valeurs numériques.
Nous allons afficher des statistiques pour les colonnes de type objets :
bar-plot(data,col) :
Pour visualiser les contenus de chaque colonne sans redondance et afficher le nombre
de chaque élément, nous avons définir une fonction bar-plot qui prend en parametre la
dataframe et le nom du colonne (data,col) et qui rend comme affichage un graphique à
barres.
19
CHAPITRE 3. PHASE 2 : LA COMPRÉHENSION DES DONNÉES
— Colonne « Fuel »
Remarque : fuel le plus utilisé c’est : diesel et pétrole alors que CNG et LGP sont
utilisés rarement 95 lignes / 8128 lignes. Il est possible de les considérer comme un
fuel de type OTHER (autre que diesel et pétrole)
— Colonne «Owner »
Remarque : De même pour la colonne Owner les 2 propriétaires les plus énoncés
sont ‘first owner’ et ‘second owner’ 7394 lignes/ 8128 lignes
La somme des lignes des autres propriétaires ensemble est : 734 lignes / 8128 lignes
(ne sont pas assez utilisés). Donc nous pouvons les rendre un seule type Third Owner
Above
20
CHAPITRE 3. PHASE 2 : LA COMPRÉHENSION DES DONNÉES
— Colonne « Transmission »
Nous allons visualiser à travers la bibliothèque seaborn, la distribution de données
de la colonnes transmission par rapport aux colonnes : year, selling-price et km-
driven
Remarque
-Le prix des voitures automatiques est plus élevé que de celle des voitures manuelles.
21
CHAPITRE 3. PHASE 2 : LA COMPRÉHENSION DES DONNÉES
-Le nombre des voitures automatiques augmente les dernières années (entre 2015 et
2020).
-Distribution de données indique possibilité. d’outliers.
3.6 Conclusion
Après avoir bien comprendre les données et connaitre le type et la signification de chaque
variable, ainsi que leur distribution, la min, le max, la moyenne, la médiane...et la relation entre
les variables, il est temps de passer à la phase suivante qui est la préparation des données.
Il est nécessaire de noter qu’il est indispensable de passer par la partie de preprocessing
pour pouvoir continuer la phase EDA et la partie de cleaning au fur et à mesure .
22
Chapitre 4
4.1 Introduction
L’étape de préparation des données comprend toutes les activités utilisées pour construire
l’ensemble de données utilisées à l’étape de modélisation. Elle inclue le nettoyage des données,
la combinaison de données provenant de sources multiples et la transformation de données en
variables plus utiles.
23
CHAPITRE 4. PRÉPARATION DES DONNÉES
— La colonne name :
nous allons extraire la première chaine de caractère qui est le type de voiture
24
CHAPITRE 4. PRÉPARATION DES DONNÉES
Avoir une valeur manquante dans un modèle d’apprentissage automatique est considéré
comme très inefficace et dangereux pour les raisons suivantes :
C’est alors que l’imputation entre en jeu. Par imputation, nous entendons remplacer les
valeurs manquantes ou nulles par une valeur particulière dans l’ensemble de données.
25
CHAPITRE 4. PRÉPARATION DES DONNÉES
Pour cela, nous allons utiliser la fonction .fillna() pour remplir les valeurs manquantes et
.mean() pour insister le remplissage par moyenne :
Vérification :
Nous avons appelé la fonction bar-plot() pour visualiser les noms des voitures les plus
utilisées :
26
CHAPITRE 4. PRÉPARATION DES DONNÉES
Nous avons remarqué, selon le nombre de voitures pour chaque type, que plusieurs types
admettent un faible nombre de voitures.
Pour les spécifier, nous avons affiché les types de voitures ayant un nombre inférieur à 15 et
les stockés dans une liste nommée car-count-less15 :
Nous allons considérer les types de voitures situés dans la liste comme other :
27
CHAPITRE 4. PRÉPARATION DES DONNÉES
Vérification :
Comme nous avons indiqué dans la phase de l’exploration de données, les fuels autres que
diesel et pétrole vont être de type OTHER :
De même pour la colonne Owner, les propriétaires autres que first et second owner sont
considérés comme Third Owner Above :
28
CHAPITRE 4. PRÉPARATION DES DONNÉES
Une valeur aberrante est une valeur extrême, anormalement différente de la distribution
d’une variable. En d’autres termes, la valeur de cette observation diffère grandement des autres
valeurs de la même variable.
Une valeur aberrante : c’est une valeur qui est manifestement fausse
Une valeur atypique : c’est une valeur qui "sort du lot", mais pas forcément fausse.
Nous allons afficher la distribution de données de la colonne transmission par rapport aux
colonnes : km-driven, selling-price
29
CHAPITRE 4. PRÉPARATION DES DONNÉES
Remarque :
Le prix des voitures automatiques est plus élevé que de celle des voitures manuelles
Nous avons appliqué la méthode de percentile qui est une méthode très utilisé dans la detection
et la suppression des outliers.
Identification des valeurs aberrantes avec la plage interquartile (IQR) L’intervalle interquar-
tile (IQR) est une mesure de la dispersion statistique et est calculé comme la différence entre
les 75e et 25e centiles. Il est représenté par la formule IQR = Q3 − Q1.
30
CHAPITRE 4. PRÉPARATION DES DONNÉES
Les lignes de code ci-dessous calculent et impriment l’intervalle interquartile pour chacune
des variables de l’ensemble de données.
Cette technique utilise les scores IQR calculés pour supprimer les valeurs aberrantes.
En règle générale, tout ce qui n’est pas compris entre (Q1 - 1,5 IQR) et (Q3 + 1,5 IQR)
est une valeur aberrante et peut être supprimé. Ce qui donne comme résultat :
31
CHAPITRE 4. PRÉPARATION DES DONNÉES
Il faut noter que le prix des voitures automatiques doit être toujours supérieur au prix
des voitures manuelles pour cela nous appliquons la fonction suivante qui permet d’éliminer
les outliers que ce soit pour les voitures manuelle ou automatique en utilisant la méthode
percentile.
32
CHAPITRE 4. PRÉPARATION DES DONNÉES
Remarque : il existe des outliers pour les années avant 2006, il est possible de l’éliminer
et prendre en considération depuis l’année 2006. Pour ce faire, nous avons appliqué la fonction
suivante :
33
CHAPITRE 4. PRÉPARATION DES DONNÉES
A ce stade-là, nous avons terminé la détection et la suppression des outliers et nous allons
passer à afficher la matrice de corrélation pour savoir les colonnes qui ont un impact élevé sur
le prix.
Une matrice des corrélations permet de détecter rapidement certaines liaisons. C’est donc
en amont des études qu’on l’utilise.
D’après cette matrice, nous remarquons que les deux colonnes seats et mileage n’ont pas
une forte corrélation avec la colonne target qui est le prix. Pour cette raison, nous allons les
supprimer pour avoir un résultat exact à la fin :
34
CHAPITRE 4. PRÉPARATION DES DONNÉES
get-dummies dans la bibliothèque Pandas ferait le travail d’encodage comme indiqué ci-
dessous. Cela créerait des colonnes supplémentaires pour chaque catégorie en utilisant 0 et 1
indiquant si la catégorie est présente. Si la catégorie est présente, elle sera indiquée par 1, sinon
par 0.
Figure 4.24 – l’application du One Hot Encoder sur les colonnes Catégoriques
35
CHAPITRE 4. PRÉPARATION DES DONNÉES
4.11 Conclusion
Dans ce chapitre, nous avons appliqué tout un processus d’analyse et de traitement de
données. Nous avons commencé par remplir les valeurs manquantes par la moyenne de colonne,
nous avons détecté dans ce qui suit les outliers et les supprimés.
Nous avons effacé les colonnes qui ont une faible corrélation par rapport à la colonne prix
en se basant sur une matrice de corrélation. Et nous avons finis par appliquer la méthode One
Hot Encoder pour convertir les valeurs catégoriques aux valeurs numériques.
36
Chapitre 5
Phase 4 : Modélisation
5.1 Introduction
Une fois notre dataset est bien nettoyée et bien préparée on peut passer directement à la
modélisation.
Features : name,transmission,fuel,owner,engine,Max-power
Target : selling-price
37
CHAPITRE 5. PHASE 4 : MODÉLISATION
Régression linéaire
Aussi appelée modèle linéaire, la régression linéaire est un modèle statistique qui effectue
des fonctions prédictives. Pour réaliser des estimations pertinentes, le processus s’appuie
sur des valeurs numériques afin de dégager une tendance ou une évolution prévisible. Par
le biais d’un dataset, le système permet ainsi de les extrapoler et d’anticiper des valeurs
futures.
La régression linéaire présente plusieurs champs d’application. Cela vaut pour développer
une intelligence artificielle de type machine learning, capable d’apprendre de nouvelles
règles et fonctions par elle-même. L’économétrie, les statistiques et les tendances bour-
sières utilisent également d’un modèle linéaire.
Lasso
La régression au lasso est un type de régression linéaire qui utilise le rétrécissement . Le
rétrécissement est l’endroit où les valeurs des données sont rétrécies vers un point central,
comme la moyenne . La procédure lasso encourage les modèles simples et clairsemés
(c’est-à-dire les modèles avec moins de paramètres). Ce type particulier de régression est
bien adapté aux modèles présentant des niveaux élevés de muticolinéarité ou lorsque vous
souhaitez automatiser certaines parties de la sélection de modèles, comme la sélection de
variables/l’élimination de paramètres.
Arbre de decision
Les arbres de classification et de régression (parfois aussi appelés arbres de segmentation
ou de décision) sont des méthodes qui permettent d’obtenir des modèles à la fois expli-
catifs et prédictifs. Parmi leurs avantages on notera d’une part leur simplicité du fait
de la visualisation sous forme d’arbres, d’autre part la possibilité d’obtenir des règles en
langage naturel.
38
CHAPITRE 5. PHASE 4 : MODÉLISATION
on utilise les arbres de régression pour expliquer et/ou prédire les valeurs prise par une
variable dépendante quantitative, en fonction de variables explicatives quantitatives et/ou
qualitatives.
Forêt Aléatoire
La forêt aléatoire est un algorithme d’apprentissage supervisé qui utilise une méthode
d’apprentissage d’ensemble pour la classification et la régression .
Il fonctionne en construisant une multitude d’arbres de décision au moment de l’appren-
tissage et en sortant la classe qui est le mode des classes (classification) ou la prédiction
moyenne (régression) des arbres individuels.
La plupart des modèles de machine learning doivent être paramétrés pour donner les meilleurs
résultats. Par exemple pour un Random Forest, on doit choisir le nombre d’arbres à créer et
le nombre de variables à utiliser à chaque division d’un nœud. Si on paramètre à la main, cela
peut vite s’avérer très coûteux en temps (et pas forcément très intéressant) . . .
C’est là que le Grid search intervient. C’est une méthode d’optimisation (hyperparameter
optimization) qui va nous permettre de tester une série de paramètres et de comparer les
performances pour en déduire le meilleur paramétrage.
39
CHAPITRE 5. PHASE 4 : MODÉLISATION
Nous appelons le modèle random-forest et l’initialiser dans une variable avec ces paramètres
idéals :
40
CHAPITRE 5. PHASE 4 : MODÉLISATION
5.5 Conclusion
Nous avons comparé les différents modèles de régression sur de nombreux états de nos
données pour bien évidemment chercher le modèle qui convient le plus avec notre dataset et
trouver le modèle le plus précis qui répond le mieux à notre objectif qui est la prédiction de
prix de voitures occasions.
41
Chapitre 6
6.1 Introduction
Il faut toujours évaluer la qualité du modèle et vérifier si celui-ci résout le problème de
manière complète et appropriée.
L’évaluation se fait à l’aide des métriques d’évaluation qui sont censées quantifier le niveau
de la prédiction et donner une idée plus ou moins précise sur la qualité de notre modèle.
Nous allons afficher le score de performance pour notre modèle comme suit :
42
CHAPITRE 6. PHASE 5 : EVALUATION DU MODÈLE ADAPTÉ
Cette compréhension vous guidera pour prendre des mesures correctives. Nous pouvons
déterminer si un modèle prédictif sous-ajuste ou sur-ajuste les données d’entraînement en exa-
minant l’erreur de prédiction sur les données d’entraînement et les données d’évaluation.
Figure 6.2 – La difference entre Best fitting , under fitting and Over fitting
Overfitting
Le sur-apprentissage fait référence au scénario dans lequel un modèle d’apprentissage au-
tomatique ne peut pas se généraliser ou s’adapter correctement à un ensemble de données
invisible. Un signe clair de sur-apprentissage de l’apprentissage automatique est que son
erreur sur l’ensemble de données de test ou de validation est bien supérieure à l’erreur
sur l’ensemble de données d’apprentissage.
Le sur-apprentissage est un terme utilisé dans les statistiques qui fait référence à une
erreur de modélisation qui se produit lorsqu’une fonction correspond trop étroitement
à un ensemble de données. En conséquence, le sur-ajustement peut ne pas ajuster les
données supplémentaires, ce qui peut affecter la précision de la prédiction des observations
futures.
43
CHAPITRE 6. PHASE 5 : EVALUATION DU MODÈLE ADAPTÉ
Underfitting
Le sous-apprentissage fait référence à un modèle qui ne peut ni modéliser l’ensemble
de données d’apprentissage ni généraliser à un nouvel ensemble de données. Un modèle
d’apprentissage automatique sous-adapté n’est pas un modèle approprié et sera évident
car il aura de mauvaises performances sur l’ensemble de données d’entraînement.
Le sous-ajustement n’est souvent pas discuté car il est facile à détecter compte tenu d’une
bonne métrique de performance.
Dans notre projet, pour tester l’ajustement de notre modèle, nous allons comparer le score de
train et de test :
Pour un score-train pareil au score-test 1.0 / 0.98 , nous pouvons conclure que c’est le
meilleur ajustement ou encore Best-Fitting.
Pour ce faire, nous avons préparé une fonction predict-price qui prend en paramètres
(name, transmission, fuel,owner, year, km-driven, engine,max-power) et retouner comme resul-
tat l’estimation du prix
44
CHAPITRE 6. PHASE 5 : EVALUATION DU MODÈLE ADAPTÉ
Nous allons finir par la figure suivante qui illustre quelques prédictions :
6.5 Conclusion
A la fin de cette étape on est bien sortie avec le meilleur modèle parmi tous les modèles qu’on
a testés et avec lequel on va déployer notre application et rendre notre modèle exploitable.
45
Chapitre 7
Phase 6 : Déploiement
7.1 Introduction
Une fois qu’un modélé satisfiasant a été dévloppé et approuvé, il est deployé dans l’environ-
nement de production ou dans un environnement de test comparable.
46
CHAPITRE 7. PHASE 6 : DÉPLOIEMENT
Par la suite nous avons extraire toutes les colonnes qui contiennent les noms du voitures
sous format json pour les utiliser aussi dans la page web en utilisant le module json
Flask
Flask est un petit framework web Python léger, qui fournit des outils et des fonctionnalités
utiles qui facilitent la création d’applications web en Python. Il offre aux développeurs une
certaine flexibilité et constitue un cadre plus accessible pour les nouveaux développeurs
puisque vous pouvez construire rapidement une application web en utilisant un seul fichier
Python.
47
CHAPITRE 7. PHASE 6 : DÉPLOIEMENT
Flask est également extensible et ne force pas une structure de répertoire particulière ou
ne nécessite pas de code standard compliqué avant de commencer.
HTML,JS,CSS
JavaScript : Le langage JavaScript est un langage beaucoup plus évolué que le langage
HTML et langage CSS qui ne permette en gros que de faire s’afficher les éléments et
de les mettre en forme par le Navigateur. Le langage JavaScript permet par exemple
dans le cas d’un formulaire à saisir par l’utilisateur, l’internaute, le client, de faire
vérifier si les informations sont correctement saisies avant que celles-ci ne soient
transmises.
CSS : Pour la mise en forme, mise en page (placement des éléments, colorisation, . . .), le
langage CSS nous permet de fixer toutes les règles de mise en page (style des titres,
des paragraphes, des liens, etc. ) pour la page Web.
48
CHAPITRE 7. PHASE 6 : DÉPLOIEMENT
partie back-end
Cette partie consiste à regrouper les méthodes utilisées dans notre application.
Partie Frond-end
C’est la partie présentant la préparation de l’interface utilisateur (design,couleur,...)
partie back-end Donc la structure de notre application est présenté comme suit
Le dossier client regroupe tous les fichiers de la partie front-end et le dossier server ainsi que
la ficher app.py presentent la partie back-end.
49
CHAPITRE 7. PHASE 6 : DÉPLOIEMENT
50
CHAPITRE 7. PHASE 6 : DÉPLOIEMENT
Il est temps de tester le bon fonctionnement de prédiction des prix des voitures sur notre
application.
51
CHAPITRE 7. PHASE 6 : DÉPLOIEMENT
7.6 Conclusion
Dans cette partie, nous avons devloppé une application pour mettre en évidence la fonc-
tionnalité du notre modele de prediction des prix des voitures occasions.
52
Conclusion Générale
La prise de décisions fondée sur la donnée est un atout qui permet aux entreprises de rester
dans la course. Le machine learning peut jouer un rôle clé en valorisant les données et les clients
et en aidant les entreprises à prendre les bonnes décisions pour se démarquer.
L’apprentissage automatique se concerne tous les metiers, notament les ventes des voitures.
Dans ce projet, nous avons l’occasion de suivre la methodologie CRISP-DM afin d’ap-
pliquer toute un pipeline,commençant par la comprehension du metier jusqu’à la phase de
deploiment.
A la base d’un modéle de régression(Random-Forest), nous avons pu prédire les prix des
voitures occasions selon des critéres bien determinés(features).
53