Université Batna 2
Faculté de Technologie
Département de Génie Industriel
Module : Intelligence Artificielle pour I’ingénierie
TP:1
Initiation à Python
1
Anaconda
Anaconda est une distribution open source de
science des données.
Elle représente le moyen le plus simple pour
exécuter Python / R.
Anaconda est gratuite et facile à installer.
Installer Anaconda
[Link]
3
Utilisation de Python
Pour utiliser Python, on fait appel à
Spyder : Environement de développement scientifique
Lancer Spyder
4
Lancer Spyder
1 5
Lancer Spyder
(1) (2)
6
SPYDER :
Environement de développement scientifique
7
3. Mode d’Utilisation de Python
Python peut être utilisé en deux modes:
a. Mode interactif, i.e., dialoguer avec Python
directement en utilisant l’invite de commande.
(sans les sauvegarder au préalable dans un fichier).
b. Mode script: écrire un programme (code) et le
sauvegarder sur disque puis l’interpréter.
8
SPYDER :
Environement de développement scientifique
Editeur de fichier
Interpréteur interactif
9
a. Mode interactif
⚫ L'interpréteur interactif permet d'écrire et d'exécuter
du code, de faire des tests rapides.
10
b. Mode script
Pour garder le code écrit et l’exécuter à chaque fois, il
est nécessaire d’utiliser le concept de script.
1. Ecrire le code en utilisant un éditeur de texte
2. Exécuter le code
3. Obtenir les résultats
L’extension d’un fichier de code Python est « .py »
11
b. Mode script
SPYDER : Environement de développement scientifique
Exécution totale
Exécution partielle Répertoire courant
Editeur de fichier
12
4. Noms de variables
Les noms de variables doivent respecter quelques règles
simples :
Un nom de variable est une séquence de lettres
(a → z , A → Z) et de chiffres (0 → 9).
▪ Un nom de variable doit commencer par une lettre.
▪ Le caractère “_“ est autorisé.
▪ Les lettres accentuées, les cédilles, les espaces, les
caractères spéciaux tels que $, #, @, etc. sont interdits.
▪ La casse est significative (les caractères majuscules et
minuscules sont distingués).
13
5. Opérations de base
1. Affectation
2. Entrée des données
3. Sortie des résultats
14
5. Opérations de base
1. Affectation
Syntaxe :
Nom de variable = expression
Exemples:
15
5. Opérations de base
2. Entrée des données
La fonction input()
L’utilisateur est invité à entrer des caractères au clavier
et à terminer avec <Enter>.
Le résultat de cette fonction est de type “chaine de
caractères”.
Syntaxe:
nom_variable = input()
nom_variable = input("Msg … : ")
16
5. Opérations de base
2. Entrée des données: chaine de caractères
Exemple :
Taper le nom de la variable
Affichage du résultat
17
5. Opérations de base
3. Sortie des résultats (Affichage de message)
Syntaxe
print(variable)
print(“msg”)
print (“msg”, variable)
18
6. Les instructions de contrôle
Indentation générale
Bloc 1
Ligne d’en-tête:
Bloc 2
Ligne d’en-tête:
Bloc 3
…
Bloc 2 (suite)
…
Bloc 1 (suite)
…
19
7. Importation des librairies
La force du langage Python réside dans le nombre important
de bibliothèques logicielles externes disponibles.
Une bibliothèque est un ensemble de fonctions, regroupées et mises à
disposition afin de pouvoir être utilisées sans avoir à les réécrire.
Elles permettent de faire : du calcul numérique, calcul scientifique,
de la génération de documents, du graphisme, de la
programmation réseau, du formatage de texte,...
L’importation de la librairie se fait à travers l’instruction
import nom_librairie
Pour importer une fonction précise de la librairie
from nom_librairie import nom_fonction
20
7. Importation des librairies
Quelques librairies
os fonctions d’interaction avec le système
d’exploitation
Numpy manipulation de matrice avec Python
Scipy calcul scientifique
Math fonctions mathématiques
Panda analyse des données
Statsmodels statistique classique
Keras deep learning
Bokeh graphiques pour le web
Matplotlib graghisme
Seaborn matplotlib amélioré
Scikit-learn : machine learning
21
7. Importantes des librairies
NumPy
permet d’effectuer des calculs numériques avec
Python. Elle introduit une gestion facilitée des tableaux
de nombres.
import numpy as np
Matplotlib
destinée à tracer et visualiser des données sous
formes de graphiques.
from matplotlib import pyplot
22
7. Importation des librairies
Scikit-learn
destinée à l'apprentissage automatique.
Elle comporte divers algorithmes tels que machine à
vecteurs de support, k-voisins, RNA, Kmeans,…
from sklearn import…
Keras
La librairie de deep learning.
Keras est une API de réseaux neuronaux de haut niveau.
Elle prend en charge les réseaux convolutionnels et les réseaux
récurrents, ainsi que les combinaisons des deux.
Elle fonctionne de manière transparente sur CPU et GPU.
import keras
23
Dans un programme simple:
➢ Inclure ces données dans le corps du programme
lui-même (par exemple dans une liste).
➢ Ce procéder devient tout à fait inadéquat
lorsque l’on souhaite traiter une quantité
d’informations plus importante.
Solution
Manipulation des dataset
24
9. Manipulation du dataset (1)
Dataset (Jeu de données)
Ensemble de données (ou valeurs).
25
9. Manipulation du dataset (2)
Dataset
▪ chaque valeur est associée à :
▪ une variable
▪ une observation.
➢ Une variable décrit l'ensemble des valeurs décrivant la
même variable.
➢ Une observation contient l'ensemble des valeurs décrivant
les variables de l'une unité traitée.
26
9. Manipulation du dataset (3)
▪ Un dataset peut avoir une structure tabulaire, tel que:
le fichier au format CSV.
▪ Un fichier CSV est un fichier texte. Chaque ligne du texte
correspond à une ligne du tableau et les virgules correspondent
aux séparations entre les colonnes.
Représentation tabulaire Fichier au format .csv
Sepal length, Sepal Width, Petal
length, Petal Width
5.1,3.5,1.4,0.2
4.9,3,1.4,0.2
4.7,3.2,1,3,0,2
.
.
.
.
27
9. Manipulation du dataset (3)
▪ Comment gérer le dataset?
.
Librairie Pandas
.
28
9. Manipulation du dataset (5)
▪ Structures de données
Les deux principales structures de données des
pandas sont :
Nom de la structure dimension Description
[Link] 1 Vecteur de données
homogènes labellisées
[Link] 2 Tableau structuré de colonnes
homogènes
29
9. Manipulation du dataset (6)
Exemple:
30
9. Manipulation du dataset (7)
▪ Utilisation du package
import pandas as pd
▪ Importer les données en utilisant CSV
Pour importer les données d’un fichier .csv:
la fonction : read_csv() de la librairie pandas.
pd.read_csv ("[Link]")
31
9. Manipulation du dataset (8)
Exemple :
- Créer un fichier « [Link] » sous Excel.
- Lire le fichier :
pd.read_csv("/GI/IA/mydata/[Link]")
data = pd.read_csv('[Link]',delimiter=';' )
32
9. Manipulation du dataset (9)
▪ Division du DataFrame
Supprimer des lignes ou des colonnes en
spécifiant les noms d'index ou de colonnes.
▪ Utilisation de .drop
▪ Utilisation de .loc et .iloc
33
9. Manipulation du dataset (14)
❖ Sélection les données sur les DataFrames
.loc et .iloc, permettent d’effectuer des opérations de
sélection de données sur les DataFrames.
a) .loc est basé sur une étiquette
Permet de spécifier des lignes et des colonnes en
fonction de leurs étiquettes de lignes et de
colonnes.
b) .iloc est basé sur un index entier.
Permet de spécifier les lignes et les colonnes à l'aide
de leur index.
34
9. Manipulation du dataset (15)
❖ Sélection les données sur les DataFrames
Lignes
[Link][0] # première ligne du data frame
[Link][1] # deuxième ligne du data frame
[Link][-1] # dernière ligne du data frame
Colonnes
[Link][:,0] # Première colonne du data frame
[Link][:,1] # Deuxième colonne du data frame
[Link][:,-1] # Dernière colonne du data frame
35
9. Manipulation du dataset (16)
❖ Sélection les données sur les DataFrames
# Multiple lignes & colonnes
[Link][0:5] # les 5 premières lignes du dataframe
[Link][:, 0:2] # les deux premières colonnes avec
# toutes les lignes
[Link][[0,3,6,24], [0,5,6]] # 1ere, 4eme, 7eme, 25eme ligne
# + 1ere 6eme 7eme colonnes,
36
9. Manipulation du dataset (18)
Exemple
Sélection des données par .iloc
import pandas as pd
data = pd.read_csv('[Link]',delimiter=';')
X= [Link][:,0:2]
y= [Link][:, -1]
print("Les données : \n")
print(X)
print("Dernière Colonne : \n")
print(y)
37
10. Scinder le dataset (1)
Division du dataset en un ensemble d'apprentissage et
un ensemble de test
➢ Ensemble d'apprentissage : sous-ensemble destiné
à l'apprentissage d'un modèle.
➢ Ensemble de test : sous-ensemble destiné à
l‘évaluation du modèle.
70% 30%
38
10. Division du dataset (2)
train_test_split
Diviser le dataset aléatoirement en deux sous ensembles :
➢ train
➢ test.
Exemple
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)
Où
X : ensemble des données
y : les classes
39
10. Division du dataset (2)
xtrain ytrain
Dataset train_test_split
xtest ytest
40
10. Division du dataset (2)
Exemple
import pandas as pd
data = pd.read_csv('[Link]',delimiter=',')
print(data)
X= [Link][:,0:2]
y= classes = [Link][:, -1]
print("X =\n", X, "\n")
print("y =\n", y, "\n")
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)
print("X_train =", X_train)
print("y_train =", y_train)
print("\n")
print("X_test =", X_test)
print("y_test =", y_test) 41