0% ont trouvé ce document utile (0 vote)
11 vues100 pages

Introduction à Python et ses fonctionnalités

description

Transféré par

Aliya Dali
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues100 pages

Introduction à Python et ses fonctionnalités

description

Transféré par

Aliya Dali
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Batna 2

Faculté de Technologie
Département de Génie Industriel

TP:1: Intelligence Artificielle pour I’ingénierie

Initiation à Python
1

[Link]@[Link]
[Link]@[Link]
1. Introduction

La programmation est l’art de commander à un


ordinateur de faire ce qu’on souhaite.

Python compte parmi les langages de


programmation qui offre cette possibilité.

2
2. Caractéristiques du langage

 Python est un langage de programmation :


 Portable.

 Libre.

 Gratuit.

• Python permet une approche modulaire et


orientée objet de la programmation.

3
Installer Anaconda

Lancer Anaconda

4
Anaconda
Anaconda est une plateforme logicielle libre
comprenant l’environnement Python complet et de
très nombreuses librairies (numpy, Seaborn, …).

Cette plateforme est appliquée au


développement d'applications dédiées à
l'apprentissage automatique sous différent
systèmes d’exploitation telle que Unix,
Windows.

5
Installer Anaconda

[Link]

6
Lancer anaconda

1 7
Utilisation de Python

Pour utiliser Python, on fait appel à

Spyder : Environement de développement scientifique

Lancer Spyder

8
Lancer Spyder
(1) (2)

9
SPYDER :
Environement de développement scientifique

10
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.

11
SPYDER :
Environement de développement scientifique

Editeur de fichier

Interpréteur interactif

12
a. Mode interactif

 L'interpréteur interactif permet d'écrire et d'exécuter


du code, de faire des tests rapides.

13
Exemples de Calcul

14
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).

15
5. Opérations de base

1. Affectation

2. Entrée des données

3. Sortie des résultats

16
5. Opérations de base
1. Affectation
Syntaxe :
Nom de variable = expression

Exemples:

17
clear
5. Effacer l’écran
clear

18
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 … : ")

19
5. Opérations de base
2. Entrée des données: chaine de caractères
Exemple1

Afficher le résultat

Taper le nom de la variable

20
5. Opérations de base
2. Entrée des données : entier/réel
Exemple2

Afficher le résultat

21
5. Opérations de base
2. Entrée des données : entier/réel
Exemple3

- Lire un 2eme entie.

 Calculer la somme(nb, nb2)

 Calculer la multiplication (nb,nb2)

22
5. Opérations de base
Afficher le résultat

Nécessite une conversion de type

Chaine  entier/réel
23
5. Opérations de base
Les fonctions : int & float

24
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 »

25
b. Mode script
SPYDER : Environement de développement scientifique

Exécution totale
Exécution partielle Répertoire courant

Editeur de fichier

26
5. Opérations de base
3. Sortie des résultats (Affichage de message)

Syntaxe
print(“msg”)
print(“msg”)
print (“msg”, variable)

27
Exercices:

1. Assignez les valeurs respectives 30, 60, 90 à trois


variables x, y, z.
2. Effectuez l’opération (x * y )/z.
3. Lisez votre nom & prénom.
4. Affichez votre nom & Prénom

28
6. Les instructions de contrôle

a. Instructions conditionnelles

b. Instructions répétitives

29
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)

30
6. Les instructions de contrôle

a. Les instructions conditionnelles


Syntaxe
if condition:
Bloc d’instructions

Exemple :

if x > 0:
print (" Nombre Positif " )

31
6. Les instructions de contrôle

a. Les instructions conditionnelles


Syntaxe
if condition:
Block d’instructions1
else:
Block d’instructions2
Exemple :
if (a > 0):
print(" Nombre positif")
else:
print(" Nombre négatif ")

32
6. Les instructions de contrôle

a. Les instructions conditionnelles


Syntaxe
if condition:
Block d’instructions1
elif condition2:
Block d’instructions2
else:
Block d’instructions3

33
6. Les instructions de contrôle

a. Les instructions conditionnelles

Exemple : afficher le signe d’un entier (positif/négatif/null).

x=input(" Donnez la valeur de x: ")


if int(x) > 0:
print (" Le nombre est positif ")
elif int(x)<0:
print (" Le nombre est négatif ")
else:
print (" Nombre est nul ")
34
6. Les instructions de contrôle

a. Les instructions conditionnelles


 Opérateurs de comparaison

Signification Symbole Symbole Python


Mathématique
Inférieur < <
Supérieur > >
Inférieur ou égal ≤ <=
Supérieur ou égal ≥ >=
Egal = ==
Différent ≠ !=
Reste de la division %

35
Exercice

Ecrire un script qui permet de saisir un nombre puis


déterminer s’il est pair ou impair.

36
Corrigé

nbre=input(" Entrez un entier : ")

if int(nbre)%2 == 0:
print (" Le nombre est pair ")
else:
print (" Le nombre est impair ")

37
Corrigé
b1= int(input(" Entrez la borne inférieure [b1: "))
b2= int(input(" Entrez la borne supérieure b2]: "))

valeur= int(input(" Entrez la valeur à vérifier: "))

if b1<=valeur<=b2:
print (valeur, " appartenant à l'intervalle donné ")
else:
print (valeur, " ,n'appartenant pas à l'intervalle
donné ")

38
6. Les instructions de contrôle

b. Les instructions répétitives

Le concept boucle permet de répéter


une certaine opération autant de fois que
nécessaire.

 while
 for

39
6. Les instructions de contrôle

b. Les instructions répétitives

 L’instruction while

Syntaxe:

while condition:
Bloc d’instructions

40
6. Les instructions de contrôle

b. Les instructions répétitives


Exemple:
Afficher les 10 premiers entiers.
print(" Affichage des 10 premiers entiers ")
i = 1 # variable compteur utilisée par la boucle
while i <= 10:
print(i)
i += 1 # Incrémenter i de 1 (i=i+1)
print( " Fin traitement…")

Résultat

41
6. Les instructions de contrôle

b. Les instructions répétitives


Exemple:
Création de la table de multiplication d’un entier.

nb1= input("Donnez un entier : ")


nb2= int(nb1)
print(" Création de la table de multiplication de: " ,nb1)
i = 1 # variable compteur utilisée par la boucle
while i <= 10:
print(i, "*", nb2, "=", (i * nb2))
i += 1 # Incrémenter i de 1 (i=i+1)
print( " Fin traitement…")

42
6. Les instructions de contrôle

b. Les instructions répétitives

 L’instruction for
Syntaxe:

for elt in sequence:


Bloc d’instructions

« elt » est une variable créé par « for ».


Elle n’est pas instancier par le programmeur. Elle prend
successivement chacune des valeurs figurant dans la séquence
parcourue.

43
6. Les instructions de contrôle

b. Les instructions répétitives

 L’instruction for

Exemple

dpt = "Département Génie Industriel"


for lettre in dpt:
print(lettre)

print(" Fin traitement…")

44
6. Les instructions de contrôle

b. Les instructions répétitives


Résultat

45
6. Les instructions de contrôle

b. Les instructions répétitives


L’instruction range() : génère une liste de nombres.

Syntaxe :
range([debut], arrêt [, pas])
Exemple
# Un seul paramètre
for i in range(5):
print(i) Résultat = 0 1 2 3 4
# Deux paramètres
for i in range(3, 6):
print(i) Résultat = 3 4 5
# Trois paramètres
for i in range(4, 10, 2):
print(i) Résultat = 4 6 8 46
Exercice
Afficher les 10 premiers chiffres.

liste = 10
for chiffre in range(liste):
print(chiffre)

Print " Fin traitement…"

47
Corrigé

48
Exercice

Écrire un programme qui affiche les 10 premiers


multiples de 8

for i in range(10):
print(" "+str(i)+"*8 = "+str(i*8))

49
Corrigé

50
Exercice

Calculer la racine carré d’un entier avec la fonction sqrt().

Importer les librairies


51
7. Importation des librairies

Python offre de très nombreuses librairies de fonctions


pré-définies pour réaliser des tâches.

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

52
Corrigé

Résultat

53
7. Importation des librairies
Quelques fonctions de la librairie math

Python mathématique
[Link] π
[Link](n) n!
[Link](x) |x|
[Link](x) ex
[Link](x) Ln(x)
math.log10(x) Log10(x)
[Link](x) √x
[Link](x) cos(x)
[Link](x) sin(x)

54
Exercice

1. Calculer le factoriel de x
2. Calculer l’exponentiel de x

55
Corrigé
import math
nb= int(input("Donnez un entier : "))
fact= [Link](nb)
print("Factoriel =",fact)

Résultat

56
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

57
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…

58
8. Définition des fonctions

Entrée Fonction Sortie

Une fonction transforme généralement une entrée en sortie

def nom_fonction(liste de paramètres):



bloc d'instructions de la fonction

59
8. Définition des fonctions
 Fonction sans paramètres

60
8. Définition des fonctions
 Fonction avec paramètres

61
Résultat
8. Définition des fonctions
Fonction avec retour de résultat

Une ≪ vraie ≫ fonction (au sens strict) doit renvoyer


un résultat à la fin de ses traitements.

La dernière ligne de la définition de la fonction


doit être l’instruction return (return : définit ce que doit
être la valeur renvoyée par la fonction).

Syntaxe :
return resultat
# « resultat » peut être une variable ou une expression

63
8. Définition des fonctions
Exemple

def nom_fonction(liste de paramètres):



bloc d'instructions

return

Syntaxe de l’appel de la fonction:


Variable_result = nom_fonction(liste_parametres)

64
8. Définition des fonctions

La fonction s’arrête à la ligne « return » qui indique


quelle sortie la fonction doit produire.

Une fois, la fonction créée, il est possible une infinité


de fois.

65
8. Définition des fonctions
Exemple

66
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

67
9. Manipulation du dataset (1)

Dataset (Jeu de données)


Ensemble de données (ou valeurs).

68
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.

69
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
.
.
.
.

70
9. Manipulation du dataset (3)

 Comment gérer le dataset?


.

Librairie Pandas
.

71
9. Manipulation du dataset (4)

Librairie Pandas
Pandas est dérivé du terme (PANel DAta), un terme
économétrique désignant des ensembles de données
comprenant des observations sur plusieurs périodes
pour les mêmes individus.
Pandas est un package Python fournissant des
structures de données rapides, flexibles conçues
pour rendre le travail avec des données
relationnelles.
Ce package est un outil d'analyse et de
manipulation de données pratique dans le monde
réel en Python.

72
9. Manipulation du dataset (5)

 Domaines d’utilisation
Finance, Statistique, Sciences sociales et dans de
nombreux domaines de l'Ingénierie.

 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

73
9. Manipulation du dataset (6)

Exemple:

74
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]")

75
9. Manipulation du dataset (8)

Exemples :
pd.read_csv("/GI/IA/mydata/ [Link]")
data = pd.read_csv('[Link]',delimiter=';' )

Contenu du fichier ‘[Link]’

76
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

77
9. Manipulation du dataset (10)

Sélection des données par drop

[Link]( labels=None, axis=0)

labels : Index ou colonne à supprimer.


axis : Valeur par defaut =0
0 : ‘index’ : « ligne »
1 : ‘columns’

78
9. Manipulation du dataset (11)

Exemple1 :
X = [Link]('Total', axis=1)
print(X)

Avant .drop Après .drop

79
9. Manipulation du dataset (12)

Exemple2 :

X = [Link]('Modules',axis=1)

Exemple3 :
X = [Link](2,axis=0)

80
9. Manipulation du dataset (13)

Script en Python
import pandas as pd
data = pd.read_csv('[Link]',delimiter=';' )
print(data)
# data is divided into attributes and labels
X = [Link]('Total', axis=1)
print(X)
y = data['Total']
print(y)

81
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.

82
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

83
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,

84
9. Manipulation du dataset (16)

Exemple

Afficher la première et dernière ligne avec toutes les colonnes

X= [Link][[0,2],:]

Afficher la première et dernière ligne avec la 1ere et 3eme


colonnes

X= [Link][[0,2],0:2]

85
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)

86
9. Manipulation du dataset (19)

Exemple
Sélection des données par .loc

import pandas as pd
data = pd.read_csv('[Link]',delimiter=';')

X1= [Link][:,['Modules','Coefficients']]
y1= [Link][:, 'Total']

print("Les données : \n")


print(X1)
print("Dernière Colonne : \n")
print(y1)

87
10. Division du 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%

88
10. Division du dataset (2)

Scikit-learn est une bibliothèque libre Python destinée à


l'apprentissage automatique.

 Types d'apprentissage gérés par sklearn:


supervisé, non supervisé, par renforcement, par transfert

 Les algorithmes
• Les algorithmes : régression linéaire (Linear
Regression ),
• arbre de décision (decision Tree),
• SVM (machines à vecteur de support),
• classification naïve bayésienne (Naive Bayes),
• KNN (Plus proches voisins),
• Réseaux de neuronnes,
• ... 89
10. Division du dataset (2)

train_test_split
Diviser le dataset aléatoirement en deux sous ensembles : train
et 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)


X : ensemble des données
y : les classes

90
10. Division du dataset (2)

trai
plit

n_t
est
_s

xtest ytest
xtrain ytrain
91
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) 92
10. Fondamentaux
Apprentissage (training)

Modéliser la relation qui existe entre les entrées (instances) et


les sorties (classes) de sorte que la probabilité de mauvaise
prédiction soit minimale.

Création d’un modèle.

Processus consistant à déterminer les paramètres idéaux d'un


modèle.

93
10. Fondamentaux

Classification
La classification est la tâche consistant à :
 attribuer une classe à une donnée qu’on veut classer.

Classe (class)

Un des ensembles de valeurs cibles énumérées pour une


étiquette.

Espace des classes est discret et fini

94
10. Fondamentaux

Types de classification

1. Classification binaire

2. Classification multinomiale

Classification binaire (binary classification)


Type de tâche de classification qui prédit l'une des
deux classes mutuellement exclusives.

Exemple, un modèle de ML qui classe les e-mails en tant


que "spam" ou "non-spam" est un classifieur binaire.

95
10. Fondamentaux

Classification à classes multiples : multinomiale (multi-class


classification)
Problèmes de classification qui distingue plus de deux classes.

Exemple

26 classes pour classer les caractères de l’alphabet.

Un modèle ML qui les classe serait donc à classes multiples.

Prédiction (prediction)
Résultat d'un modèle auquel un exemple est fourni en entrée.

96
Etapes de l’apprentissage automatique
1. Chargement les données
Importer des bibliothèques
Import nom de la librairie

2. Chargement le jeu de données


Data =read_csv()

3. Séparation des classes des données (X ,y)


X = les données
y = les classes

4. Visualisation des données


print(data) pour voir la structure des données (optionnelle)

[Link] du jeu de données


La fonction train_test_split permet de diviser le jeu de données en 2
ensembles : les données d’apprentissage et les données de test.
6. Création du classifieur
Il est possible d’utiliser plusieurs algorithmes d’apprentissage automatique.
clf = spécifier nom de l’algorithme utilisé.

7. Apprentissage sur les données d'apprentissage


[Link](données d’apprentissage, leurs classe)

8. Prédiction
result = [Link](nouvelles données)

[Link] du pourcentage d’erreur


Comparer le résultat réel avec le résultat prédit en utilisant les métriques de
sklearn.

• from [Link] import accuracy_score


accuracy_score(les classes réelles , les classes prédites)

10. Visualisation des résultats par des graphes


Résumé

1
3
création
Données Prédiction
d’apprentissage Modèle

Données de test

99
Chargement & traitement des données

Séparation des classes des données (X ,y)

Visualisation des données

Partitionnement le jeu de données

Création du classifieur

Apprentissage

Prédiction

Calcul du pourcentage d’erreur

Visualisation des résultats par des graphes

Vous aimerez peut-être aussi