Rapport Stage Dété 2021
Rapport Stage Dété 2021
l'Information et de la Communication
Université de la Manouba
Réalisé par :
Encadrée par
M.Noureddine Jarray
1
Plan
1. Introduction
2. Machine Learning Vs Deep Learning
3. Environnement du travail
4. Développement des modèle RandomForest
5. Développement des modèle Xgboost
6. L’environnement du travail
7. Conclusion
2
1 .Introduction
L’IA comprend de nombreux sous-domaines, Le machine learning est une application de l’IA qui
permet aux ordinateurs d'apprendre à partir de l’expérience et d'améliorer l’exécution de tâches
spécifiques. Il permet aux ordinateurs d'analyser des données et d’employer des techniques statistiques
pour apprendre à partir de ces données afin d'améliorer leur capacité à exécuter une tâche donnée. Ces
algorithmes sont souvent classés en deux catégories : supervisés et non supervisés, semi-supervisé.
Aussi L'apprentissage profond est une branche du machine learning qui imite le cerveau humain
aussi fidèlement que possible. Il utilise généralement un modèle fondé sur la structure du cerveau,
appelé réseau neuronal profond.
Figure 1:AI vs ML vs Dl
3
2. La différence entre l’apprentissage automatique et l’apprentissage profond
Consiste à ce que les ordinateurs soient capables de penser et d'agir avec moins d'intervention
humaine
Nécessite des données structurées et utilise des algorithmes traditionnels comme la régression
linéaire.
Algorithmes d'extraction des caractéristiques
DL :
Concerne les ordinateurs qui apprennent à penser à l'aide de structures calquées sur le cerveau
humain
Nécessite des ressources beaucoup plus puissantes. Cette demande de puissance a entraîné une
utilisation accrue des unités de traitement graphique.
ANN* (Artificiel Neural Network) pour extraire les caractéristiques sans algorithmes
d'extraction
Utilise des réseaux de neurones et est conçu pour accueillir de gros volumes de données non
structurées
Figure 2 :ANN
Figure 3:ML VS DL
4
3. L’environnement du travail
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.
TenserFlow :
TensorFlow est un outil open source d'apprentissage automatique développé par Google,est une
bibliothèque de logiciels open source pour le calcul numérique à l'aide de graphes de flux de données.
Les nœuds du graphique représentent des opérations mathématiques
Python :
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
Scikit-learn : Outil simple et efficace d'analyse prédictive de données la bibliothèque la plus utile pour
le machine learning en Python,contient de nombreux outils efficaces pour l'apprentissage automatique
et la modélisation statistique, notamment la classification, la régression, le regroupement et la réduction
de la dimensionnalité
Mathplotlib : visualiser les données sous forme des graphiques
Seaborn : est une bibliothèque de visualisation de données Python basée sur matplotlib. Il fournit une
interface de haut niveau pour dessiner des statistiques attrayantes et informatives
5
4 RandomForest model
1 Définition du model :
Les algorithmes d'apprentissage automatique traditionnels donnent généralement une faible précision
de classificateur et un surajustement facile. Pour améliorer la précision, de nombreuses personnes
effectuent des recherches sur l'algorithme de combinaison de classificateurs
-L’algorithme des « forêts aléatoires »: un algorithme de classification qui réduit la variance des
prévisions d’un arbre de décision seul, améliorant ainsi leurs performances.il combine de nombreux
arbres de décisions dans une approche de type bagging.
Bagging: est une technique utilisée pour améliorer la classification notamment celle des arbres de
décision pour corriger l’instabilité des arbres de décision (le fait que de petites modifications dans
l’ensemble d’apprentissage entraînent des arbres très différents).
Cet algorithme sert à développement rapide et largement utilisé dans de nombreux domaines, ( bio-
informatique, la médecine(En médecine, utilisation de la technologie RF telle que Lee pour aider les
images CT pulmonaires des nodules pulmonaires à la détection automatique), les sciences de la
gestion, l'économie.)
6
Figure 7 resultat du RandomForest
Majority voting/average : Le résultat peut être la prédiction la plus existante(données binaires) ,ou la
moyenne des prédictions
Le problème ici est de prédire la consommation de gaz dans 48 des États américains sur la base de la
taxe sur l’essence, du revenu par habitant, des autoroutes pavées, et de la proportion de la population
avec le permis de conduire.
7
Figure 9:data preparation
8
B .RandomForest for Classification
La tâche ici est de prédire si un billet de banque est authentique ou non sur la base de quatre attributs,
à savoir la variance de l'image transformée en ondelettes d'image, l'asymétrie, l'entropie et la curtosis
de l'image ,il s'agit d'un problème de classification binaire et nous utiliserons un classificateur de forêt
aléatoire pour résoudre ce problème
9
Applications: Customer segmentation, Grouping experiment outcomes
● Calculer une matrice de confusion pour évaluer l'exactitude d'une classification.
Accuracy est la proximité des mesures par rapport à une valeur spécifique / tandis que la précision est
la proximité des mesures les unes par rapport aux autres
Pour conclure Random Forest est une technique de mise en sac qui contient un certain nombre
d'arbres de décision sur divers sous-ensembles de l'ensemble de données donné et prend la
moyenne pour améliorer la précision prédictive de cet ensemble de données. Au lieu de
s'appuyer sur un arbre de décision, la forêt aléatoire prend la prédiction de chaque arbre et sur
la base des votes majoritaires des prédictions, et elle prédit la sortie finale. Le plus grand
nombre d'arbres dans la forêt conduit à une plus grande précision et évite le problème de
surajustement.
10
5 XGboost model
1 Définition du model :
XGBoost, qui signifie Extreme Gradient Boosting, est une bibliothèque d'apprentissage automatique
évolutive et distribuée à arbre de décision boosté par gradient (GBDT). Il fournit une amplification
d'arbre parallèle et est la principale bibliothèque d'apprentissage automatique pour les problèmes de
régression, de classification et de classement. C’est un algorithme d'apprentissage basé sur un arbre de
décision qui utilise un cadre d'amplification de gradient.
Le boosting est une technique d'ensemble où de nouveaux modèles sont ajoutés pour corriger les
erreurs commises par les modèles existants. Les modèles sont ajoutés séquentiellement jusqu'à ce
qu'aucune autre amélioration ne puisse être apportée.
Dans les problèmes de prédiction impliquant des données non structurées (images, texte, etc.)
(ensembles de données volumineux + compliqués)
+Vitesse et performances : Initialement écrit en C++, il est comparativement plus rapide que les autres
classificateurs d'ensembles.
+ L'algorithme de base est parallélisable : comme l'algorithme de base XGBoost est parallélisable, il
peut exploiter la puissance des ordinateurs multicœurs.
Il est également parallélisable sur les GPU et sur les réseaux d'ordinateurs, ce qui permet également
de s'entraîner sur de très grands ensembles de données.
+ Surpasse systématiquement les autres méthodes d'algorithme : il a montré de meilleures
performances sur une variété d'ensembles de données de référence en apprentissage automatique.
Exemple :
11
Figure 14 :Un ensemble de plus d'un arbre, les prédictions combinés pour obtenir une prédiction plus forte.
Nous allons diviser les données en ensembles d'entraînement et de test, ajuster un petit modèle xgboost
sur l'ensemble d'entraînement et évaluer ses performances sur l'ensemble de test en calculant sa
précision.
12
13
14
Les résultats des problèmes de régression sont des valeurs continues ou réelles. Certains algorithmes
de régression couramment utilisés sont la régression linéaire et les arbres de décision. Il existe
plusieurs métriques impliquées dans la régression comme l'erreur quadratique moyenne (RMSE) et
L’erreur absolue moyenne (MAE). Ce sont quelques membres clés des modèles XGBoost, chacun
joue son rôle important.
RMSE : la racine carrée de l'erreur quadratique moyenne pour évaluer la qualité des
prédictions. Il montre à quel point les prédictions s'éloignent des vraies valeurs mesurées en
utilisant la distance euclidienne.
MAE : C'est une somme absolue des différences réelles et prédites
MSE : L’écart quadratique moyen, la moyenne des carrés des erreurs c’est la différence
quadratique moyenne entre les valeurs estimées et la valeur réelle
15
6 Conclusion
En machine learning, on traite principalement deux types de problèmes que sont la classification et la
régression. Il existe plusieurs types d'algorithmes différents pour les deux tâches. Mais nous devons
choisir cet algorithme dont les performances sont bonnes sur les données respectives. Les méthodes
d'ensemble comme les algorithmes Random Forest,, XGboost Généralement les deux modeles
XgBoost et RandomForest sont basés sur l’algorithme de l’arbre de décision, Si nous travaillons
davantage sur l'ingénierie des données et des fonctionnalités(feature engineering), cette précision peut
être encore améliorée
16