Vous êtes sur la page 1sur 13

Projet : Deep Learning

Prédire le type de vin : Rouge ou Blanc ?

Réalisé par :
Imen TOUATI
Souha ZOUAGHI
Filière : IIA5
Groupe : 1.2

Année Universitaire 2022/2023

1
Partie 1

Etude théorique et concepts de base

1. Notions de base :

1.1 Le vin :

1.1.1. Définition du vin :

Le vin est la boisson obtenue par la fermentation naturelle du jus de raisin mûr
(transformation des sucres du fruit en alcool sous l’action biochimique de levures,
organismes microscopiques qui prolifèrent d’eux-mêmes). En termes de composition, le
vin est un ensemble d’éléments qui s’associent de manière complexe et inconstante : eau,
sucres, alcools, esters, acides, minéraux, substances azotées, acétaldéhyde, substances
phénoliques, pigments, vitamines… 2 à 3 % des composants du vin relèvent encore du
mystère, d’où l’impossibilité de le reproduire en laboratoire.

1.1.2. Types du vin :

• Les vins tranquilles (rouges, blancs ou rosés), dont les deux premières couleurs
peuvent être déclinées en vins secs ou vins doux selon la quantité de sucres résiduels
(sucres restants non transformés en alcool au cours de la fermentation). Les vins
rouges et les blancs peuvent subir une seconde fermentation, artificielle cette fois, la
malolactique (transformation de l’acide malique en acide lactique sous l’action de
bactéries) pour assouplir les vins.

1.2 Différences entre vin rouge et vin blanc :

Il existe plusieurs critères qui différencient le vin rouge du vin blanc.


Parmi ces critères, on cite :

2
• La fabrication à partir de différentes parties du raisin
• L’élaboration avec différentes méthodes de vinification
• Les différents composés chimiques
• Les différents niveaux de pH

2. L’apprentissage

2.1 L’apprentissage automatique :

2.1.1. Définition de l’apprentissage automatique :

L’apprentissage automatique dit en anglais « Machine Learning », est un champ d’étude de l’intelligence
artificielle qui se fonde sur des approches mathématiques et statistiques pour donner aux ordinateurs la
capacité d’« apprendre» à partir de données, c’est-à-dire d’améliorer leurs performances à résoudre des
tâches sans être explicitement programmées pour chacune.

2.1.2. Phases de l’apprentissage automatique :

L’apprentissage automatique comporte deux phases :

− La première consiste à estimer un modèle à partir de données, appelées observations, qui sont
disponibles et en nombre fini, lors de la phase de conception du système.
L’estimation du modèle consiste à résoudre une tâche pratique, telle que traduire un discours, estimer
une densité de probabilité, reconnaître la présence d’un chat dans une photographie ou participer à la
conduite d’un véhicule autonome. Cette phase dite « d’apprentissage » ou « d’entraînement » est
généralement réalisée préalablement à l’utilisation pratique du modèle.

− La seconde phase correspond à la mise en production : le modèle étant déterminé, de nouvelles


données peuvent alors être soumises afin d’obtenir le résultat correspondant à la tâche souhaitée. En
pratique, certains systèmes peuvent poursuivre leur apprentissage une fois en production, pour peu
qu’ils aient un moyen d’obtenir un retour sur la qualité des résultats produits.

2.2 L’apprentissage profond

L’apprentissage profond dit en anglais « Deep Learning », est un type d’intelligence artificielle dérivé du
« Machine Learning », où la machine est capable d’apprendre par elle-même, contrairement à la
programmation où elle se contente d’exécuter à la lettre des règles prédéterminées.

3
L’apprentissage profond s’appuie sur un réseau de neurones artificielles s’inspirant du cerveau humain.
En effet, ce réseau est composé de dizaines voire de centaines de «couches» de neurones, chacune recevant et
interprétant les informations de la couche précédente.

2.3 Le réseau de neurones :


Le réseau neuronal se situe au croisement de l'informatique et de la biologie. Il est
calqué sur le paradigme du cerveau humain dont il démultiplie la puissance, sans lui
ressembler tout à fait puisqu'il est dépourvu d'émotions.
Le réseau neuronal constitue une véritable révolution scientifique, née des progrès de
l'intelligence artificielle. Il s'inspire du cerveau humain et son unité élémentaire est le
neurone formel.
Son fonctionnement est calqué sur celui du cerveau humain, bien qu'il soit exempt
d'émotions. Le réseau de neurones profonds ou « Deep Neural » network imite donc le
fonctionnement de nos propres neurones.
Il existe plusieurs types de réseaux neuronaux, parmi lesquels on distingue :
• Perceptron
• Convolutional Neural Network (CNN)
• Recurrent Neural Network (RNN)
• Artificial Neural Networks (ANN)

4
Partie 2

Téléchargement et Visualisation des Données

1. Collecte des données :

Les données utilisées dans ce projet pour l’implémentation de notre modèle, est disponible
sur « UCI Machine Learning Repository », sous le lien :
https://archive.ics.uci.edu/ml/datasets/wine+Quality

2. Analyse des données :

2.1. Téléchargement des données :

2.2. Préparation des données :

5
6
2.3. Visualisation des Données :

7
8
Partie 3

Modélisation et évaluation

1. Langage et outils utilisés

• Python 3 : Python est un langage de programmation interprété, multi-paradigme et multiplateformes.


Il favorise la programmation impérative structurée, fonctionnelle et orientée objet. Il est doté d’un
typage dynamique fort, d’une gestion automatique de la mémoire par ramasse-miettes et d’un système
de gestion d’exceptions.
• Anaconda : Anaconda est une distribution libre et open source des langages de programmation Python
et R appliqué au développement d’applications dédiées à la science des données et à l’apprentissage
automatique, qui vise à simplifier la gestion des paquets et de déploiement.
• Jupyter : Jupyter permet de réaliser des calepins ou notebooks, c’est-à-dire des programmes contenant
à la fois du texte en markdown et du code en Julia, Python, R... Ces calepins sont utilisés en science
des données pour explorer et analyser des données.
• Pandas : Pandas est une bibliothèque écrite pour le langage de programmation Python permettant la
manipulation et l’analyse des données.
• NumPy : est une bibliothèque pour langage de programmation Python, destinée à manipuler des
matrices ou tableaux multidimensionnels.
• Matplotlib : Matplotlib est une bibliothèque du langage de programmation Python destinée à tracer et
visualiser des données sous formes de graphiques.
• Sklearn: Scikit-learn, encore appelé sklearn, est la bibliothèque la plus puissante et la plus robuste
pour le 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.
• Keras : Keras est une bibliothèque open source écrite en python. La bibliothèque Keras permet
d’interagir avec les algorithmes de réseaux de neurones profonds et d’apprentissage automatique,
notamment Tensorflow.

2. Training set - Validation set

9
3. Structure du réseau de neurones :

4. Entrainement du modèle :

10
5. Résultats :

11
6. Prédiction :

12
Conclusion générale et perspectives
En guise de conclusion, nous aimerons tout d’abord souligner que nous avons eu la chance de travailler sur
un sujet très intéressant qui nous a permis de solidifier nos connaissances en Python et en Machine Learning.

Les résultats que nous avons obtenus ne sont pas parfaits mais quand même prometteurs. Notre modèle
pourra être amélioré. Cependant, cela nécessite un Dataset encore plus large que celui que nous avons utilisé.

Puisque les données sont de taille importante, ces modèles ne devraient être exécutés sur des machines très
puissantes permettant d’avoir un résultat rapide qui pourra être amélioré au fur et à mesure.

13

Vous aimerez peut-être aussi