➢ Chapitre 2: Introduction à Python
Introduction à
Python pour le ➢ Présenté par :
➢ Amal Naadi
Datamining ➢ Soulaimane Ighissy
➢ Hamza Bouhamane
Introduction à Python
Python est aujourd’hui l’un des langages les plus utilisés dans la Data
Science, le Data Mining et l’Intelligence Artificielle. Sa popularité vient de
sa syntaxe simple, sa lisibilité et sa grande flexibilité. Contrairement à
d’autres langages plus complexes, Python permet d’écrire des
programmes clairs et compréhensibles, accessibles même aux débutants.
De plus, l’écosystème Python offre des bibliothèques puissantes pour le
calcul numérique, la manipulation de données, la visualisation et le
Machine Learning. Python est open source, gratuit, adopté par des
entreprises internationales et largement utilisé en recherche
académique.
Installation et configuration de python, découverte d’environnement Jupyter
Pour travailler en Data Mining, installez Python depuis [Link] ou préférez une
distribution comme Anaconda qui inclut déjà les bibliothèques scientifiques principales
(Pandas, NumPy, Scikit-learn, etc.).
L’environnement le plus utilisé en Data Science est Jupyter Notebook, il s’agit d’un outil
interactif permettant d’écrire du code, d’exécuter cellule par cellule et d’afficher
immédiatement les résultats.
Jupyter combine code, texte explicatif et visualisations dans un même document, et
facilitant l’expérimentation, l’analyse exploratoire et la communication des découvertes.
Installation et configuration de python, découverte d’environnement Jupyter
1 2
Installation Anaconda (Python + Bibliothèques)
3 4
Jupyter Notebook (Écrire et exécuter le code) Analyse et Visualisation des données
Pour travailler en Data Mining avec Python, nous devons d'abord installer un environnement adapté.
La solution recommandée est Anaconda, car elle contient Python ainsi que les principales bibliothèques scientifiques
nécessaires comme Pandas, NumPy, Scikit learn...
Ensuite, nous utilisons Jupyter Notebook, qui est un environnement interactif permettant d'écrire du code, de l'exécuter
et de visualiser immédiatement les résultats.
Cet outil facilite l'analyse exploratoire des données et la réalisation de projets en Data Science.
Type de données fondamentaux : int, Float, string, bool
Python repose sur plusieurs types de données fondamentaux :
❑ int Opérations sur les nombres entiers
En Python, les nombres de type int disposent
Nombres entiers d’opérateurs arithmétiques qui facilitent les
calculs sur les valeurs entières.
Le type int (integer, en anglais) correspond aux valeurs ✓ Addition : +
numériques entières (positives ou négatives) et sert ✓ Soustraction : -
principalement aux calculs sans virgule. ✓ Multiplication : *
✓ Division entière : //
✓ Modulo (reste de la division
Exemple: entière) : %
✓ Puissance : **
0 , 1 , 100 , -1000 , -2 ✓ Division classique (résultat float ):
/
Type de données fondamentaux : int, Float, string, bool
❑ float
Opérations sur les nombres à virgule
Nombres flottants ou Nombres à virgule
En Python, les nombres de type float disposent
d’opérations arithmétiques qui facilitent les
Le type float (float, en anglais) représente des nombres calculs sur les valeurs décimales.
flottants qui sont des nombres décimaux (à virgule), écrits
avec un point « . » . ✓ Addition : +
✓ Soustraction : -
✓ Multiplication : *
✓ Division : /
Exemple: ✓ Division entière : //
✓ Puissance : **
0.2 , 10.0 , -10. , -.2 , 5e2
Type de données fondamentaux : int, Float, string, bool
La compréhension de ces types est essentielle pour éviter les erreurs lors du traitement des données.
Remarque 1 Remarque 2
En Python , les nombres de type int ou float suivent Sur les nombres de type int ou float , on peut aussi
un ordre de priorité des opérations, comme en utiliser les opérateurs de comparaison : == (égal à), !=
mathématiques, où les multiplications et divisions sont (différent de), < (plus petit que), <= (inférieur ou égal), >
effectuées avant les additions et soustractions. Voici (plus grand que), >= (supérieur ou égal). Ces opérateurs
l'ordre de priorité : de comparaison comparent deux expressions et
renvoient un booléen (True ou False).
[] , () , ** , * , / , // , % , + , -
Entre crochets, Entre parenthèses, puissance, • 4 != 7 donne True (car 4 est différent de 7 ).
multiplication, divion, division entière, modulo, • 4.0 < 7.0 donne True (car 4.0 est plus petit que de 7.0).
addition, soustraction.
Type de données fondamentaux : int, Float, string, bool
❑ Chaines de caractères (String)
Chaînes de caractères Opérations sur les chaînes de caractères
Voici les principales opérations disponibles sur le type
Le type str (string, en anglais) désigne une chaîne de
str en Python :
caractères, c’est-à-dire du texte entre guillemets ou
quote.
• concaténation : +
″Bonne″ + ″ journée″ donne Bonne journée
Exemple:
• répétition : *
"bonne" , ‘bonne’ ″bonne ″*2 donne bonne bonne
Type de données fondamentaux : int, Float, string, bool
Sur les chaînes de caractères ( str ), on peut aussi utiliser les opérateurs d'appartenance : in et not in . Ces
opérateurs d'appartenance vérifient si une sous-chaîne est présente dans une autre. Exemple:
✓ ‘a' in ‘zakaria' donne True
✓ ‘o' not in ‘zakaria' donne True
Sur les chaînes de caractères ( str ), on peut aussi utiliser les opérateurs de comparaison lexicographique : ==
, < , > . Ces opérateurs de comparaison comparent deux expressions et renvoient un booléen ( True ou False ).
Exemple:
✓ ‘réel’ < ‘réelle’ donne True
✓ ‘bonne’ == ‘bonne’ donne True
Dans Python , les majuscules sont différentes des minuscules : toutes les lettres majuscules précèdent les
lettres minuscules. Exemple:
✓ ‘Réel’ < ‘réelle’ donne False
✓ ‘bonne’ == ‘BONNE’ donne False
Type de données fondamentaux : int, Float, string, bool
❑ Bool :
Booléens Opérations sur les booléens
Voici les principales opérations disponibles sur le
type bool en Python, appelées aussi opérateurs
Le type bool (boolean, en anglais) permet de logiques :
représenter une valeur logique, soit True (vrai) soit
False (faux), souvent utilisée dans les conditions. • or (OU logique)
• and (ET logique)
• not (NON logique)
Exemple:
Exemple:
True ou False sont les deux valeurs
booléennes (de type bool). • True or False donne True .
• True and False donne False .
• not True donne False
Type de données fondamentaux : int, Float, string, bool
En Python , on peut utiliser la fonction intégrée type() pour connaître le type d’une valeur. Exemple:
• type(10) affiche <class 'int'> .
• type(6e3) affiche <class ‘float’>
• type(“10") affiche <class 'str'> .
• type(True) affiche <class 'bool'> .
En Python , on peut utiliser les fonctions intégrées int() , float() , str() , bool() pour convertir une valeur
d'un type vers un autre. Attention, certaines conversions ne sont pas possibles. Exemple:
• int(5.5) affiche 5
• float(10) affiche 10.0
• str(True) affiche ‘True’
• bool(0) affiche False / bool() affiche False
• bool(1) affiche True
Structures de données essentielles: listes, dictionnaires,
tuples, sets
En plus des types simples, Python propose des structures de données plus complexes permettant d'organiser
d'organiser l'information et stocker des données.
Listes Dictionnaires Tuples Sets
Les listes sont des Les dictionnaires Les tuples sont similaires Les sets représentent des
collections ordonnées et permettent d'associer une aux listes mais ne peuvent des ensembles d'éléments
modifiables d'éléments. une clé à une valeur. Par pas être modifiés après leur d'éléments uniques, utiles
Elles sont très utilisées pour exemple, on peut associer création. utiles pour éliminer les
stocker des séries de associer un pays à son PIB. doublons.
valeurs. PIB. Cette structure est
particulièrement utile pour
pour représenter des
données structurées.
Ces structures constituent la base de la manipulation des données avant l'utilisation de bibliothèques spécialisées.
bibliothèques spécialisées.
Structures de données essentielles: listes, dictionnaires,
tuples, sets
Exemples :
Listes Dictionnaires
fruits = ["pomme", "banane", "cerise"] personne = {"nom": "Amal", "âge": 20, "ville": "Agadir"}
# accéder à un élément (index commence à 0) # accéder à une valeur
print(fruits[1]) print(personne["nom"])
banane Amal
# ajouter un élément # ajouter et modifier
[Link]("orange") personne["profession"] = "étudiante"
print(fruits) personne["âge"] = 21
['pomme', 'banane', 'cerise', 'orange’] print(personne)
# enlever un élément {'nom': 'Amal', 'âge': 21, 'ville': 'Agadir', 'profession':'étudiante’}
[Link]("cerise") # supprimer une clé
print(fruits) del personne["ville"]
['pomme', 'banane', 'orange'] print(personne)
{'nom': 'Amal', 'âge': 21, 'profession': 'étudiante'}
Structures de données essentielles: listes, dictionnaires,
tuples, sets
Tuples Sets
coordonnees = (34.02, -6.84) nombres = {1, 2, 3, 2, 4}
# accéder à un élément print(nombres)
print(coordonnees[0]) {1, 2, 3, 4}
34.02 # ajouter un élément
# essayer de modifier [Link](5)
coordonnees[0] = 35 print(nombres)
# Erreur! {1, 2, 3, 4, 5}
# on peut juste lire # enlever un élément
for c in coordonnees: [Link](3)
print(c) print(nombres)
34,02 {1, 2, 4, 5}
-6,84 # vérifier si un élément est dans le set
print(2 in nombres)
True
Boucles, conditions et compréhension des listes
Dans un programme Python, il est souvent nécessaire de prendre des décisions ou répéter certaines opérations plusieurs
fois. Pour cela, Python utilise principalement les structures conditionnelles et les boucles.
Les structures conditionnelles
Les conditions permettent au programme de prendre une décision selon une situation donnée. En Python, la structure la
la structure la plus utilisée est l'instruction if. Elle permet d'exécuter un bloc de code uniquement si une condition est
condition est vraie.
age = 20
if age >= 18:
print("La personne est majeure")
else:
print("La personne est mineure")
Dans cet exemple, le programme vérifie si l'âge est supérieur ou égal à 18. Si la condition est vraie, il affiche que la
affiche que la personne est majeure, sinon il affiche qu'elle est mineure.
Les conditions sont très utilisées en analyse de données, notamment pour filtrer ou classer des observations selon
observations selon certains critères.
Boucles, conditions et compréhension des listes
Les boucles
Les boucles permettent de répéter automatiquement une opération plusieurs fois. En Python, les deux boucles les plus
utilisées sont for et while.
La boucle for
La boucle for est utilisée lorsque le nombre de répétitions est connu.
Exemple :
for i in range(5):
print(i)
01234
D ans cet exem p le, la b o ucle affiche les no m b res d e 0 à 4.
La b o ucle fo r est très utilisée en D ata S cience p o ur p arco urir d es listes, d es tab leaux o u d es ensem b les
de données.
Boucles, conditions et compréhension des listes
La boucle while
La boucle while répète une action tant qu'une condition est vraie.
Exemple :
i=0
while i < 5:
print(i)
i=i+1
01234
La b o ucle co ntinue jusq u'à ce q ue la co nd itio n i < 5 d evienne fausse.
Les boucles while sont utiles lorsque le nombre de répétitions n'est pas connu à l'avance.
La compréhension de liste (List Comprehension)
La list co m p rehensio n est une fo nctio nnalité très p ratiq ue d e Pytho n q ui p erm et d e créer d es listes d e
p lus rap id e.
Exemple
nombres = [x for x in range(10)]
Print(x)
x=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Boucles, conditions et compréhension des listes
Ce code crée une liste contenant les nombres de 0 à 9.
On peut également appliquer une condition :
nombres_pairs = [x for x in range(10) if x % 2 == 0]
print(x)
X=[0, 2, 4, 6, 8]
Cette instruction crée une liste contenant uniquement les nombres pairs.
La list comprehension est très utilisée en analyse de données, car elle permet de manipuler rapidement de grandes
quantités d'informations.
Introduction aux principales bibliothèques Python
L'un des principaux avantages de Python réside dans la richesse de ses bibliothèques spécialisées, qui facilitent l'analyse
et la manipulation des données.
Dans le domaine du Data Mining et de l'Intelligence Artificielle, certaines bibliothèques sont particulièrement
importantes.
Manipulation et analyse des données : Pandas, Numpy
Numpy
NumPy, Numerical python est une bibliothèque fondamentale pour le calcul scientifique en Python.
Elle permet de manipuler efficacement des tableaux numériques multidimensionnels et d'effectuer des opérations
mathématiques rapides.
Exemple :
import numpy as np #np est juste une abréviation pratique pour écrire moins
tableau = [Link]([1, 2, 3, 4])
print(tableau)
[1 2 3 4]
NumPy est souvent utilisé pour effectuer des calculs statistiques ou matriciels.
Numpy offre plusieurs fonctions utiles pour analyser les données
Exemple :
import numpy as np
arr = [Link]([1,2,3,4,5])
print(np,sum(arr)) #somme=15
print(np,mean(arr)) #moyenne=3.0 Résultat float
print(np,max(arr)) #maximum=5
print(np,min(arr)) #minimum=1
Une autre fonctionnalité importante de Numpy est la sélection des éléments avec une condition, Pour garder seulement
les valeurs qui respectent une condition donnée
Exemple :
import numpy as np
Notes = [Link]([10,15,8,17,12])
bonnes notes = notes[notes>12]
print(″notes supérieures à 12:″,bonnes notes)
→ notes supérieures à 12: [15 17]
Pandas
Pandas est la bibliothèque de Python permettant de manipuler et analyser les données. Elle a été créée en 2008 par Wes
McKinney, un statisticien et développeur Python. Cette bibliothèque s’est progressivement imposée comme un élément
incontournable pour gérer des données et a contribué à faire de Python une référence en la matière.
Structure et type de données
En pandas les données peuvent être organisées selon plusieurs structures en fonction de nombre de dimensions
Nom de la structure Nombre de dimensions Principe
Séries 1 Données unidimensionnelles indexées
DataFrames 2 Feuille de calcul avec lignes et colonnes
Panels 3 Collection de DataFrames
DataFrames multi-index 4 DataFrames avec multi-index pour les lignes ou les
colonnes
Dans l’immense majorité des cas, seuls les séries et les DataFrames seront rencontrés
➢ Series
Une Serie est une seule colonne de données
Exemple :
import pandas as pd
notes = [Link]([14,12,16,10])
print(notes)
0 14
1 12
#l’indexation commence de 0 et non à 1
2 16
3 10
dtype: int64
➢ DataFrame
Une dataFrame est un tableau avec lignes et colonnes (comme excel)
Exemple :
Import pandas as pd
data = {″nom″: [″amine″, ″sara″, ″ali″], ″note″: [14,12,16]}
df = [Link](data)
nom note
0 Amine 14
1 Sara 12 #DataFrame = Tableau de données
2 Ali 16
Les outils d’accéder aux données Pandas
Le tableau suivant indique les quatre façons de faire :
Action iloc loc at query
Accès à une [Link][2,1] [Link][2,’Col2’] [Link][2,’Col2’]
case
Accès à une [Link][2, :] [Link][2, :] [Link] ("index==2")
ligne
Accès à une [Link][ :,1] [Link][ :, ’Col2’]
colonne
Filtrage avec [Link] ("A>2")
condition
Exemples :
Iloc :
import pandas as pd
data={"nom":["ali","sara","youssef","lina"],"age":[20,22,21,23],"note":[14,16,12,18]}
df = [Link](data)
➢ [Link][2,1]
np.int64(21)
➢ [Link][2,:] ➢ [Link][:,1]
nom youssef 0 20
age 21 1 22
note 12 2 21
Name: 2, dtype: object 3 23
Name: age, dtype: int64
loc :
import pandas as pd
data={"nom":["ali","sara","youssef","lina"],"age":[20,22,21,23],"
note":[14,16,12,18]}
df = [Link](data)
➢ [Link][2,’note’]
np.int64(12)
➢ [Link][2,:] ➢ [Link][:,’note’]
nom youssef 0 14
age 21 1 16
note 12 2 12
Name: 2, dtype: object 3 18
Name: note, dtype: int64
Remarque : La grande différence entre iloc et loc, qui sont les fonctions les plus utilisées, réside dans le fait que tout est
numérique avec iloc alors que loc oblige à préciser le nom de la variable.
at :
import pandas as pd
data={"nom":["ali","sara","youssef","lina"],"age":[20,22,21,23],"
note":[14,16,12,18]}
df = [Link](data)
➢ [Link][2,’note’]
np.int64(12)
query :
import pandas as pd
data={"nom":["ali","sara","youssef","lina"],"age":[20,22,21,23],"
note":[14,16,12,18]}
df = [Link](data)
➢ [Link](‘index==2’) ➢ [Link](‘age>20’)
nom age note
nom age note
1 sara 22 16
2 youssef 21 12
2 youssef 21 12
3 lina 23 18
❑ Pour travailler avec les données dans Pandas il est important de connaitre les principales fonctions qui permettent de
lire, afficher et analyser les données
df = pd.read_csv(″[Link]″) #lire un fichier CSV
df = read_excel (″[Link]″) #lire un fichier Excel
[Link]() #afficher les 5 premières lignes
[Link]() #afficher les 5 dernières lignes
[Link]() #information sur les données(nombre de lignes,de colonnes,types de données)
df[″note″].mean() #calculer la moyenne
df[″note″].max() #afficher la valeur maximale
df[″note″].min() #afficher la valeur minimale
Visualisation des données : Matplotlib, Seaborn, Plotly
La visualisation des données est une étape essentielle du Data Mining, car elle permet de mieux comprendre les
tendances et les relations entre les variables.
Matplotlib :
M atp lo tlib est la b ib lio thèq ue la p lus utilisée p o ur créer d es g rap hiq ues (visualiser des données) en Python.
Il permet d’utilise des chiffres ou données en graphes visuels
import [Link] as plt #matplotlib=bibliothèque, pyplot=module pour créer les graphiques
Matplotlib est utilisé pour :
• analyser des données
• voir l’évolution
• data science
• projets universitaires
• statistiques
➢ Graphique en ligne (Line Plot)
Exemple :
import [Link] as plt
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
[Link](x, y) #crée le graphique
[Link]("Mon graphique") #titre du graphique
[Link]("Temps") #nom de l’axe X
[Link]("Valeur") #nom de l’axe Y
[Link]() #affiche le graphique
➢ Diagramme en barres
Exemple :
import [Link] as plt
noms = ["Ali", "Sara", "Omar"]
notes = [12, 15, 10]
[Link](noms, notes)
[Link]("Notes des étudiants")
[Link]()
➢ Nuage de points (Scatter)
Exemple :
import [Link] as plt
x = [1,2,3,4,5]
y = [2,4,5,4,5]
[Link](x,y)
[Link]("Nuage de points")
[Link]()
➢ Diagramme circulaire
Exemple :
import [Link] as plt
labels = ["Python", "Java", "C++"]
sizes = [50, 30, 20]
[Link](sizes, labels=labels, autopct='%1.1f%%')
[Link]("Langages de programmation")
[Link]()
Seaborn :
S eab o rn est une b ib lio thèq ue b asée sur M atp lo tlib q ui p erm et d e créer d es visualisatio ns statistiq ues p lus
avancées et p lus esthétiq ues.
Elle est souvent utilisée pour analyser les relations entre plusieurs variables dans un jeu de données.
• Matplotlib = bibliothèque pour créer des graphiques
• Seaborn = bibliothèque qui utilise Matplotlib mais rend les graphiques plus simples et plus jolis
Donc :
Seaborn = Matplotlib amélioré
import seaborn as sns #importe la bibliothèque seaborn (sns nom court pour Seaborn)
import [Link] as plt #seaborn utilize matplotlib pour afficher les graphiques
On utilise Seaborn pour :
• analyser des données
• voir des relations entre les données
• faire des graphiques rapidement
• data science
• projets universitaires
Charger les données (dataset) :
Nous utilisons souvent des datasets pour analyser et visualiser des données. Certains datasets reviennent
très souvent :
"tips" "iris" "titanic"
contient des informations sur les
contient des informations sur les contient des informations sur
passagers du Titanic, comme
clients d’un restaurant, comme des fleurs, comme la longueur et
l’âge, le sexe, la classe et si la
le prix du repas et le pourboire. la largeur des pétales et sépales.
personne a survécu ou non.
✓ Ces datasets sont très utiles pour apprendre à faire des graphiques et étudier les relations entre différentes
variables.
➢ Graphique : Scatter Plot
Exemple :
import seaborn as sns
import [Link] as plt
data = sns.load_dataset("tips") #charger un dataset(Le dataset s’appelle "tips")
[Link](x="total_bill", y="tip", data=data) #créer le graphique(total_bill=px du repas, tip=le pourboire)
[Link]() #afficher le graphique
si le prix du repas augmente, le
pourboire augmente.
➢ Graphique en barres
Exemple :
import seaborn as sns
import [Link] as plt
data = sns.load_dataset("tips")
[Link](x="day", y="total_bill", data=data)
[Link]()
Ce graphique montre la moyenne des additions
par jour.
➢ Graphique en ligne
Exemple :
import seaborn as sns
import [Link] as plt
data = sns.load_dataset("tips")
[Link](x=“size", y="total_bill", data=data)
[Link]()
Il montre l’évolution des données.
Plotly :
Plotly est une bibliothèque de visualisation de données interactive utilisée principalement en Python, R et JavaScript. Elle
permet de créer des graphiques modernes, interactifs et dynamiques directement dans un navigateur web.
Contrairement à certaines bibliothèques classiques comme Matplotlib, Plotly permet :
• l'interaction avec les graphiques
• le zoom et le déplacement
• l’affichage des valeurs au passage de la souris
• la création de tableaux de bord interactifs
Importation de plotly
import [Link] as px
import plotly.graph_objects as go
➢ Les deux modules principaux de Plotly
Plotly Express :
Interface simple et rapide pour créer des graphiques.
Caractéristiques :
• syntaxe courte
• idéal pour l'exploration de données
• fonctionne très bien avec Pandas
Exemple :
import [Link] as px
df = [Link]()
fig = [Link](df, x="sepal_width", y="sepal_length")
[Link]()
Plotly Graph Objects :
Interface plus avancée qui permet un contrôle total du graphique
Exemple :
import plotly.graph_objects as go
fig = [Link](data=[Link](y=[2,4,6,8]))
[Link]()
➢ Types de graphiques dans Plotly
Plotly permet de créer plusieurs types de visualisations :
Graphique en ligne (Line Plot)
Utilisé pour visualiser l'évolution d'une variable dans le temps.
Exemple :
[Link](df, x="year", y="sales")
Diagramme de dispersion (Scatter Plot)
Utilisé pour voir la relation entre deux variables.
Exemple :
[Link](df, x="age", y="salary")
Diagramme en barres (Bar Chart)
Utilisé pour comparer des catégories.
Exemple :
[Link](df, x="product", y="sales")
Histogramme
Permet de visualiser la distribution des données.
Exemple :
[Link](df, x="age")
Diagramme circulaire (Pie Chart)
Exemple :
[Link](df, names="category", values="sales")
➢ Interactivité dans Plotly
L’un des plus grands avantages de Plotly est l'interactivité.
Fonctionnalités interactives :
• zoom sur les graphiques
• affichage des informations avec la souris
• filtrage des données
• rotation des graphiques 3D
• export en image
Cela permet de mieux explorer les données.
➢ Personnalisation des graphiques
Plotly permet de modifier :
• couleurs
• titres
• axes
• légendes
• taille du graphique
Exemple :
import [Link] as px
import pandas as pd
# Création des données
data = {"age": [22, 25, 30, 35, 40, 45],"salary": [2000, 2500, 3000, 3500, 4000, 4500]}
# Transformation en DataFrame
df = [Link](data)
# Création du graphique
fig = [Link](df,x="age",y="salary",title="Relation entre Age et Salaire")
# Personnalisation
fig.update_layout(xaxis_title="Age",yaxis_title="Salaire")
# Affichage
[Link]()
➢ Plotly et les graphiques 3D
Plotly supporte les visualisations 3D, ce qui est très utile pour :
• analyse scientifique
• machine learning
• données complexes
Exemple :
px.scatter_3d(df,x="x",y="y",z="z")
➢ Plotly et Dash
Plotly peut être combiné avec Dash, un framework Python qui permet de créer des applications web interactives.
Avec Dash on peut créer :
• dashboards
• applications de data science
• outils analytiques
Exemple d’utilisation :
• tableau de bord de ventes
• suivi des données financières
• analyse des performances
➢ Comparaison : Matplotlib vs Seaborn vs Plotly
Bibliothèque Type Interactivité
Matplotlib Basique Non
Seaborn Statistique Non
Plotly Moderne Oui
Plotly est donc le meilleur choix pour les visualisations interactives.
Dataminig et machine learning : Scikit-learn, Statsmodels
Les entreprises utilisent désormais le data mining et le machine learning pour accomplir de nombreuses tâches, de
l’amélioration du processus de vente à l’interprétation des données financières pour l’investissement.
Datamining
• Le data mining désigne le processus d’analyse de volumes massifs de données et du Big Data sous différents angles
afin d’identifier des relations entre les data et de les transformer en informations exploitables. Ce dispositif rentre
dans le cadre de la Business Intelligence et a pour but d’aider les entreprises à résoudre des problèmes, à atténuer
des risques et à identifier et saisir de nouvelles opportunités business.
• En français, ce processus porte différents noms :
❑ Exploration de données
❑ Fouille de données
❑ Forage de données
❑ Ou encore extraction de connaissances à partir de données
• Le data mining est un processus indissociable de l’analyse Big Data, de l’intelligence prédictive et de l’exploitation
des données.
Machine learning
• L'apprentissage automatique (en anglais Machine Learning) est un type d'intelligence artificielle qui confère aux
ordinateurs la capacité d’apprendre sans être explicitement programmés.
• Il consiste en la mise en place d’algorithmes ayant pour objectif d’obtenir une analyse prédictive à partir de
données, dans un but précis.
Les algorithmes d'apprentissage peuventse catégoriser selon le mode d'apprentissage qu'ils emploient :
➢ Apprentissage supervisé :
• les classes sont prédéterminées et les exemples connus, le système apprend à classer selon un modèle de
classement.
• Le processus se passe en deux phases. Lors de la première phase (dite d'apprentissage), il s'agit de déterminer un
modèle des données étiquetées.
• La seconde phase (dite de test) consiste à prédire l'étiquette d'une nouvelle donnée, connaissant le modèle
préalablement appris.
➢ Apprentissage non supervisé :
• Quand le système ou l'opérateur ne disposent que d'exemples, mais non d'étiquettes, et que le nombre de classes
et leur nature n'ont pas été prédéterminés.
• L'algorithme doit découvrir par lui-même la structure plus ou moins cachée des données. Le partitionnement de
données, data clustering en anglais, est un algorithme d'apprentissage non supervisé.
➢ Apprentissage par renforcement :
• Pour quelques applications, la sortie du système est une séquence d’actions.
• Apprendre une politique: une séquence de sorties. Une sortie particulière n’est pas intéressante, c’est la séquence
qui importe.
• Exemples d’application;
• Problème d’assignation de crédit
• Jeux
• Robot navigant dans un labyrinthe
• Agents multiples, observation partielle, etc.
Scikit-learn : pour le Machine Learning :
Scikit-Learn est une bibliothèque open source d’apprentissage automatique en Python. Aussi connue sous son nom
abrégé sklearn, elle fournit une vaste gamme d’outils, d’algorithmes et de fonctionnalités permettant de faciliter le
développement de modèles de machine learning. Scikit-learn couvre les principaux algorithmes de machine learning
généralistes :
• Classification : classer les données dans des catégories
• Régression : prédire des valeurs numériques
• Clustering : regrouper les données similaire
• Prétraitement des données : préparation et transformation des données
Exemple :
Étape 1 : Importer les bibliothèques
import pandas as pd
from sklearn.linear_model import LinearRegression
Étape 2 : Créer un dataset
data = {"heurs":[1,2,3,4,5],"note":[10,12,14,16,18]}
df = [Link](data)
Dans cet exemple #heurs = nombre d’heures d’étude #note = note obtenue
Étape 3 : Séparer les variables
x = df[["heurs"]] #x représente la variable explicative (heures d’étude)
y = df["note"] #y représente la variable à prédire (note)
Étape 4 : Créer le modèle
model = LinearRegression()
Ici on utilise un modèle de régression linéaire pour apprendre la relation entre les heures d’étude et la note
Étape 5 : Entraîner le modèle
[Link](x, y) #Le modèle apprend à partir des données
Étape 6 : Faire une prédiction
[Link]([[6]])
Le modèle peut prédire la note d’un étudiant qui étudie 6 heures
Dans ce cas le resultat est array([20.])
Statsmodels:
Statsmodels est une bibliothèque Python utilisée pour l’analyse statistique et les modèles économétriques
Elle permet d’effectuer
• régression linéaire
• tests statistiques
• analyse des séries temporelles
• estimation des modèles statistiques
Contrairement à Scikit-learn, Statsmodels donne plus de détails statistiques comme :
• les coefficients
• les p-values
• le R²
• les intervalles de confiance
exemple :
import [Link] as sm
x = df[["hours"]]
y = df["note"]
x = sm.add_constant(x)
model = [Link](y, x).fit()
[Link]() #La fonction summary() affiche un rapport statistique détaillé du modèle
Scikit-learn Statsmodels
Utilisé pour le Machine Learning Utilisé pour l’analyse statistique
Optimisé pour les prédictions Optimisé pour l’interprétation des
modèles
Facile pour entraîner des modèles Fournit des résultats statistiques détaillés
Le Data Mining et le Machine Learning permettent d’extraire des informations importantes à partir des données.
Les bibliothèques Python comme Scikit-learn et Statsmodels offrent des outils puissants pour analyser les données,
construire des modèles prédictifs et comprendre les relations entre les variables