Ceci est un point important
📝 Ceci est un exemple single line
💡 Ceci est un conseil
Ceci est un texte avec un lien vers un site ressource
Exemple
# Ceci est un exemple de codeLe python est un langage de programmation très populaire créé au début des années 90.
Il est utilisé majoritairement pour :
- Le développement web (backend / côté serveur).
- La création d’applications.
- Les mathématiques (modélisation, statistiques, machine learning, etc.).
Qu’est-ce que le python peut faire ?
- Le python peut être utilisé sur un serveur pour créer des applications web.
- Il peut être utilisé pour connecter des bases de données, et peut être utilisé pour lire et modifier des fichiers.
- Le python est souvent utilisé pour traiter des grands jeux de données et appliquer des fonctions mathématiques complexes.
- Et enfin, il peut être utilisé pour faire du prototypage, et de la création d’application prêtes pour le déploiement.
Ce qu’il faut savoir :
- La version majeure la plus récente de python est
Python 3(py3) , celui qu’on va utiliser pendant ce cours d’introduction. Même siPython 2(py2) est très populaire mais plus maintenu.
La syntaxe du python par rapport à d’autres langages de programmation
- Le python a été designé pour la lisibilité et partage de nombreuses similarités avec l’anglais, tout en étant influencé par les mathématiques.
- Le python utilise de nouvelles lignes pour compléter une commande, comparé à d’autres langages qui utilisent des point-virgule
;ou des parenthèses(). - Le python utilise l’indentation et les espaces vides pour définir la portée, le cadre d’une fonction, d’une boucle ou d’une classe. La majorité des langages utilisent les accolades
{}pour cela. Ainsi, au sein des boucles, on utilise l’indentation au lieu de begin et de end.
La majorité des PC et des Mac auront Python de préinstallé.
- La dernière version est la
3.10(3.11en version bêta) mais généralement, on en est à3.9.12(surtout sur Mac). - Pour vérifier si vous avez python d’installé sur votre PC ou Mac, lancez un terminal de commandes et tapez la commande suivante :
python --version
py --version
python3 -- versionSi la commande n’est pas trouvée, vous pouvez installer python sur leur site.
Logiciels & plateformes
Il existe un large éventail de logiciels permettant de coder en Python :
Il existe aussi des plateformes permettant de travailler à plusieurs comme Colab.
On est aussi souvent amené à travailler sur des fichiers en .ipynb. Ceux-ci offre la possibilité de mêler du Python à du Markdown (langage qui permet de mettre en forme : titres, sous-titres, liens, etc.). On peut les manipuler facilement avec Jupyter ou Google Colab. Nous verrons tout au long de ce cours que beaucoup de ressources et projets se trouvent sur des Notebooks Jupyter.
Le python est un langage de programmation interprété, ce qui veut dire que en tant que développeur, vous écrivez des fichiers en python (.py) dans un éditeur de fichiers, puis vous utilisez l’interpréteur pour les exécuter.
Voici la démarche :
python miashsvie.pyOù miashsvie.py est le nom de votre fichier.
Créons notre premier fichier, que nous allons appeler miashsvie.py. Cela peut être fait dans n’importe quel éditeur de texte (Ou des applications comme Atom, PyCharm, Spyder ou Visual Studio Code par exemple).
Dedans, écrivez :
print("Go les MIASHS")Sauvegardez votre fichier, ouvrez votre terminal de commandes dans le dossier ou vous avez enregistré le fichier et exécutez :
python miashsvie.pyLa sortie de cette commande devrait être :
Go les MIASHSFélicitations ! Vous avez écrit et exécuté votre premier programme en Python !
Pour tester une petite quantité de code en python, il est parfois préférable et plus rapide de l’exécuter dans le terminal en python.
Pour cela écrivez la commande suivante dans votre terminal de commandes :
python(Oui oui, aussi simple que ça)
Depuis ici, vous pourrez écrire n’importe quoi en python, même l’exemple que nous avions fait plus tôt.
# C:\Users\Your Name>python
# Python 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)] on win32
# Type "help", "copyright", "credits" or "license" for more information.
>>> print("Go les MIASHS")
Go les MIASHSDès que vous avez terminé avec le console Python, vous pouvez écrire la commande suivante pour la quitter :
exit() # Il s'agit d'une fonction, ne pas oublier les parenthèsesElles fournissent des outils et fonctions avancées pour ce qu'on souhaite faire : ouvrir des fichiers avec des extensions particulières, visualiser des données, effectuer des tests statistiques et de performances, modéliser des données cérébrales, réaliser des cartes, etc.
Il suffit d’ouvrir le terminal (comme vu précédemment) et d’utiliser pip install (possible pour des versions Python ultérieures à 3.4) suivi du nom de la librairie.
pip install NomLibrairieSi la commande pip n’est pas reconnue, vous pouvez faire :
py -m ensurepip—upgrade Si on souhaite une version particulière, on peut la stipuler avec pip.
pip install NomLibrairie==1.4 Si on souhaite une version ultérieure à une version spécifique, on peut aussi le préciser.
pip install NomLibrairie>=1.4 Pour mettre à jour une librairie (qui sont souvent mises à jour car Python est en pleine expansion).
pip install --upgrade NomLibrairieOn utilise import avant de préciser le nom de la librairie (comme les packages sur R) qu’on souhaite utiliser, et as suivi de comment on veut les appeler dans le reste du programme (pour éviter d’avoir à réecrire un nom très long).
import NomLibrairie as NomRaccourciExemple
import numpy as npOn peut aussi importer une fonction spécifique d’une librairie en utilisant from.
Exemple
from numpy import asarrayOn peut choisir de tout importer en utilisant *.
from nilearn import *Manipuler et traiter des grands tableaux de données.
import numpy as npManipuler et traiter des petits et moyens tableaux (vecteurs, matrices) de données.
import pandas as pdVisualiser graphiquement des données.
import matplotlib.pyplot as pltVisualiser graphiquement (complète matplotlib).
import seaborn as snsÉvaluer les performances de classification : si l'IA fait bien son travail, et comment.
from sklearn import metricsComme pour la plupart des langages, le Python permet de manipuler différents types de variables :
- Booléen (
bool) : Vrai / Faux. - Entier (
int). - Texte (
str). - Liste (
list). - Réel (
float).
Contrairement à certains langages (#Pascal), le type de variable est précisé lorsqu’on attribue une valeur à la variable.
Ainsi, si on stocke le nombre 8 dans la variable dinosaure, elle sera du type **int**.
dinosaure = 8
print(type(dinosaure))
# Ce qui affiche
>> intMais si on stocke “vive la MIASHS” dans la variable dinosaure, elle sera du type **str**.
dinosaure = "vive la MIASHS"
print(type(dinosaure))
# Ce qui affiche
>> strLes opérateurs sont utilisés pour réaliser des opérations sur des variables et des valeurs.
En Python, les opérateurs sont séparés dans différents groupes :
- Opérateurs arithmétiques.
- Opérateurs d’assignement.
- Opérateurs de comparaison.
- Opérateurs logiques.
- Opérateurs d’identité.
- Opérateurs d’appartenance.
- Opérateurs de comparaison (Bitwise).
Les opérateurs arithmétiques sont utilisés avec des valeurs numériques pour réaliser des opérations mathématiques courantes :
| Opérateur | Nom | Exemple |
|---|---|---|
| + | Addition | x + y |
| - | Soustraction | x - y |
| * | Multiplication | x * y |
| / | Division | x / y |
| % | Modulo | x % y |
| ** | Exponentielle | x ** y |
| // | Division Euclidienne | x // y |
Les opérateurs d’assignement sont utilisés pour assigner des valeurs à des variables.
| Opérateur | Exemple | Équivalence |
|---|---|---|
| = | x = 5 | x = 5 |
| += | x += 5 | x = x + 5 |
| -= | x -= 5 | x = x - 5 |
| *= | x *= 5 | x = x * 5 |
| /= | x /= 5 | x = x / 5 |
| %= | x %= 5 | x = x % 5 |
| //= | x //= 5 | x = x // 5 |
| **= | x **= 5 | x = x ** 5 |
Les opérateurs de comparaison sont utilisés pour comparer deux valeurs.
| Opérateur | Nom | Exemple |
|---|---|---|
| == | Egal | x == y |
| = | Non égal | |
| > | Plus grand que | x > y |
| < | Plus petit que | x < y |
| >= | Plus grand ou égal | x >= y |
| <= | Plus petit ou égal | x <= y |
Les opérateurs logiques sont utilisés pour combiner des instructions conditionnelles.
| Opérateur | Description | Exemple |
|---|---|---|
| and | Retourne true si les deux instructions sont vraies | x < 5 and x < 10 |
| or | Retourne true si l’une des deux instructions sont vraies | x < 5 or x < 4 |
| not | Inverse le résultat, retourne false si le résultat est true | not(x < 5 and x < 10) |
Les opérateurs d’identité sont utilisés pour comparer des objets, non pas s’ils sont égaux, mais si ils sont actuellement le même objet avec le même emplacement mémoire.
| Opérateur | Description | Exemple |
|---|---|---|
| is | Retourne true si les deux variables sont le même objet | x is y |
| is not | Retourne true si les deux objets ne sont pas le même objet | x is not y |
Les opérateurs d’appartenance sont utilisés pour tester si une séquence est présente dans un objet.
| Opérateur | Description | Exemple |
|---|---|---|
| in | Retourne true si une séquence avec la valeur spécifiée est présente dans l’objet | x in y |
| not in | Retourne true si une séquence avec la valeur spécifiée n’est pas présente dans l’objet | x not in y |
Les opérateurs bitwise sont utilisés pour comparer des nombres binaires.
| Opérateur | Nom | Description |
|---|---|---|
| & (et commercial) | AND | Définit chaque bit à 1 si les deux bits sont 1 |
| (pipe) | OR | |
| ^ | XOR | Définit chaque bit à 1 si uniquement l’un des deux bits est 1 |
| ~ (tilde) | NOT | Inverse tout les bits |
Créer une liste vide.
NomListe = list()Compléter la liste.
NomListe.append(Item1) # Les items peuvent être des nombres, du texte, etc.
# Par exemple
NomListe.append ("dinosaure")
NomListe.append (34.6)Créer et remplir une liste.
NomListe = ["dinosaure", "pancakes"] # Liste de mots
NomListe = [1, 2, 3] # Liste de chiffres
NomListe = [17, "pirouette", 3, "cacahouète"] # Liste mixte
NomListe = list(range(20))
NomListe = list(range(0, 10)) # Liste de chiffres de 0 à 9
NomListe = list(range(1, 10, 2)) # Liste de chiffres de 1 à 10 en allant de 2 en 2Mesurer sa longueur.
LongueurListe = len(NomListe)Accéder à un élément.
Element = NomListe[3] #4ème élément (l'index commence à 0)Liste de listes.
MegaListe = [Liste1, Liste2, Liste3]Accéder à un élément d’une liste de listes.
Element = MegaListe[2][0] #3ème liste, 1er élément (l'index commence à 0)Ordonner les données.
NomListe.sort() # Ordonner les données d'une listeIls permettent de stocker, visualiser et manipuler les jeux de données facilement grâce à des DataFrame.
Import.
from pandas import DataFrame as df
import pandas as pdSélectionner des colonnes / lignes particulières.
Par indices (lignes, colonnes).
df.iloc[0,5] # 1ère ligne, 5ème colonne
df.iloc [0:5, 0:3] # 1ère à 5ème lignes et 1ère à 3ème colonnes
df.iloc[:, 0:3] # toutes les lignes et 1ère à 3ème colonnes
df.loc[:, 'NomColonne'] # toutes les lignes et colonne "NomColonne"Par position.
df.head(5) # Afficher les 5 premières lignes
df.head(10) # Afficher les 10 premières lignesComprendre le contenu.
df.index # Noms des lignes
df.columns # Noms des colonnes
df.dtypes # Types de données du tableau
df.columns.__str__().lower() # Passer le contenu en minuscules
df.columns.__str__().upper() # Passer le contenu en majuscules
df.size # Quantité d'informations contenues dans le tableau
df.shape # Dimensions (Nombre de lignes et colonnes)Modifier.
pd.factorize() # Obtenir une liste des modalités de la variable (similaire SELECT DISTINCT en SQL)
pd.to_numeric() # Convertir en nombre (similaire à inttostr() en Pascal)
df.astype(NomType) # Convertir en type de variable à préciser
df.copy() # Permet de dupliquer un tableauImporter un fichier .csv (comptatible avec Excel).
from pandas import read_csv
import pandas as pdOn précise :
- Le fichier souhaité (ou son chemin s’il se situe dans un répertoire différent).
- S'il possède des entêtes (ici, aucune).
- La colonne qui sert d'index, c'est-à-dire de référence, du style un numéro unique, comme les clés en BDD (ici, la première colonne, donc 0, sert d'index).
- Le type de séparateur de données (par défaut :
,). - Le type de séparateur décimal (par défaut :
., souvent,pour des jeux de données européens).
data = pd.read_csv('NomFichier.csv', header = 0, index_col = 0, sep= ';', decimal = ',')Il est donc important d’ouvrir le fichier avant pour vérifier ces informations
À noter qu’on peut aussi importer un jeu de données directement depuis le web.
data = pd.read_csv('https://UrlDuFichierFinissantPar.csv', header = 0, index_col = 0, sep = ';', decimal = ',')Afficher du texte et des variables.
print (”Go les MIASHS”)Ce qui nous donne :
Go les MIASHSOn peut aussi mélanger du texte brut avec des variables.
prenom = "Stéphane"
nom = "Chrétien"
print ("Directeur de l'UFR :", prenom, nom)Ce qui nous donne :
>> Directeur de l'UFR : Stéphane ChrétienVisualiser les données.
Cela permet de voir rapidement le type de données et leur répartition. Cela permet d’orienter les décisions concernant les traitements et tests à effectuer.
df.sort_values(by=['Colonne']) # Ordonner les données d'un dataframe
describe() # Equivalent à summary() en R : résume les donnéesIl existe un large éventail de fonctions prédéfinies, mais il arrive qu’on ait besoin de réaliser régulièrement le même ensemble de traitements. Pour éviter d’abuser du copier-coller, on peut alors définir ses propres fonctions.
Pour ce faire, on utilise def, on nomme la fonction (utiliser un nom assez explicite, tout en évitant qu’il soit trop long si on y fait souvent appel).
Puis, on précise s’il y a des variables en entrée (par exemple pour afficher des données, les tranformer, etc.). Il est possible qu’il n’y ait aucun paramètre en entrée (comme pour un compteur par exemple).
On utilise les : pour préciser que le bloc d’instructions va suivre. On décrit ensuite les instructions après indentation (précise le début du bloc et la fin du bloc).
Enfin, on peut préciser des variables de sortie (si on effectue des calculs par exemple). De même, il se peut qu’il n’y ait pas de paramètres de sortie.
def NomFonction (paramètre_1, paramètre_2, paramètre_3):
# Instruction 1
# Instruction 2
# Instruction 3
return sortie_1, sortie_2On peut ensuite appeler cette fonction autant de fois qu’on le souhaite en spécifiant les paramètres soit directement en suivant l’ordre dans lequel ils ont été déclarés, soit dans un ordre différent en précisant les paramètres.
Exemple
def CarteEtu (nom, prenom, numetu)
print ("--- Carte étudiante ---")
print ("Nom :", nom)
print ("Prénom :", prenom)
print ("Numéro étudiant :", numetu)On peut alors soit appeler la fonction en précisant les variables en entrée en suivant le même ordre.
CarteEtu (”Chrétien”, “Stéphane”, 219574)Ce qui nous affiche :
>> --- Carte étudiante ---
Nom : Chrétien
Prénom : Stéphane
Numéro étudiant : 219574Mais si on ne se souvient plus de l’ordre, ou qu’on aime se rebeller, on peut préciser à quoi correspondent nos variables en entrée.
CarteEtu (numetu = 219574, prenom = “Stéphane”, nom =”Chrétien”)Ce qui nous affiche :
>> --- Carte étudiante ---
Nom : Chrétien
Prénom : Stéphane
Numéro étudiant : 219574Le python supporte les conditions logiques classiques provenant des mathématiques :
- Egal :
a == b - Non égal :
a != b - Inférieur à :
a < b - Inférieur ou égal à :
a <= b - Supérieur à :
a > b - Supérieur ou égal à :
a >= b
Ces conditions peuvent être utilisés dans plusieurs méthodes, la plus commune des utilisations reste les conditions if et les boucles.
Une condition if est écrite en utilisant le mot clé if.
Exemple
a = 33
b = 200
if b > a:
print("b est plus grand que a")Dans cet exemple, nous utilisons deux variables : a et b qui sont utilisées par l’instruction if pour tester si b est plus grand que a , sachant que a est égal à 33 et que b est égal à 200, nous savons que 200 est plus grand que 33, nous écrivons donc que “b est plus grand que a”.
Le python se base sur l’indentation (une tabulation au début de la ligne), pour définir la portée du code. Les autres langages utilisent principalement les “curly-brackets” : { } pour cette utilisation.
Exemple (qui génèrera une erreur)
a = 33
b = 200
if b > a:
print("b est plus grand que a") # Pas d'indentation, la portée n'est pas définieLe mot-clé elif est plus communément utilisé comme else if dans les autres langages. C’est la façon de dire “Si la condition précédente n’était pas vraie, alors essayer cette condition”.
Exemple
a = 33
b = 33
if b > a:
print("b est plus grand que a")
elif a == b:
print("a et b sont égaux")Else est utilisé dans le cas ou la ou les conditions précédentes ne sont pas remplies
Exemple
a = 200
b = 33
if b > a:
print("b est plus grand que a")
elif a == b:
print("a et b sont égaux")
else:
print("a est plus grand que b")Le terme and est un opérateur logique, et utilisé pour combiner des instructions conditionnelles.
Exemple
a = 200
b = 33
c = 500
if a > b and c > a:
print("Les deux conditions sont vraies")or est un opérateur logique utilisé comme and pour combiner des instructions conditionnelles.
Exemple
a = 200
b = 33
c = 500
if a > b or a > c:
print("Au moins une des conditions est vraie")Les instructions if ne peuvent pas être vides, mais si pour une raison vous avez un if sans contenu, utilisez l’instruction pass pour empêcher la génération d’erreurs.
Exemple
a = 33
b = 200
if b > a:
passAvec les boucles while, nous pouvons éxecuter une suite d’instructions tant qu’une condition est vraie.
Exemple
i = 1
while i < 6:
print(i)
i += 1Les boucles while requièrent des variables déjà déclarées, c’est pour cela que dans cet exemple nous déclarons i et définissons sa valeur à 1.
L’instruction break est utilisée pour stopper les boucles, même si la condition active est vraie.
Exemple
i = 1
while i < 6:
print(i)
if i == 3:
break
i += 1Avec l’instruction continue nous pouvons stopper l’itération actuelle, puis continuer avec la suivante
Exemple
i = 0
while i < 6:
i += 1
if i == 3:
continue
print(i)Comme pour les if, nous pouvons exécuter un bloc de code quand la condition n’est plus vraie.
Exemple
i = 1
while i < 6:
print(i)
i += 1
else:
print("i n'est plus plus petit que 6")Une boucle for est utilisée pour itérer sur une séquence, qui peut être une liste, un dictionnaire, une chaîne de carctère, etc.
Avec la boucle for nous pouvons éxecuter une suite d’instructions, pour chaque item dans une liste, une suite ou autre, etc.
Exemple
fruits = ["pomme", "banane", "cerises"]
for x in fruits:
print(x)La boucle for ne nécessite pas d’indexer une variable déclarée au préalable.
Même les chaîne de caractères (String) sont des objets itérables, ils contiennent une séquence de caractères :
Exemple
for x in "banane":
print(x)Avec l’instruction break nous pouvons stopper une boucle avant qu’elle ne soit passée par tout les items :
Exemples
fruits = ["pomme", "banane", "cerise"]
for x in fruits:
print(x)
if x == "banane":
breakfruits = ["pomme", "banane", "cerise"]
for x in fruits:
if x == "banane":
break
print(x)L’instruction continueest utilisée pour stopper l’itération actuelle et continuer à la prochaine :
Exemple
fruits = ["pomme", "banane", "cerise"]
for x in fruits:
if x == "banane":
continue
print(x)Pour boucler dans un suite de code un certain nombre de fois, nous pouvons utiliser la fonction range().
La fonction range() retourne une séquence de nombres, démarrant de 0 par défaut, et s’incrémentant par 1 (par défaut), et se termine par le nombre spécifié.
Exemple
for x in range(6):
print(x)La fonction range() commence par défaut à 0 comme valeur de départ. Cependant il est possible de spécifier une valeur de départ en ajoutant un paramètre : range(2, 6), ce qui veut dire les valeurs de 2 à 6 (N’incluant pas 6)
Exemple
for x in range(2, 6):
print(x)Il est aussi possible de spécifier une valeur d’incrément (qui est par défaut 1) en ajoutant un troisième paramètre : range(2, 30, 3) :
Exemple
for x in range(2, 30 ,3):
print(x)L’instruction else dans une boucle for permet de spécifier un bloc de code qui sera exécuté quand la boucle se termine :
Exemple
for x in range(6):
print(x)
else:
print("Boucle terminée")Exemple
for x in range(6):
if x == 3: break
print(x)
else:
print("Boucle terminée")Les boucles for ne peuvent pas être vides, mais si pour une raison vous avez une boucle for avec aucun contenu, insérez l’instruction pass pour éviter les erreurs.
Exemple
for x in [0, 1, 2]:
passCela permet de voir rapidement le type de données et leur répartition. Cela permet d’orienter les décisions concernant les traitements et tests à effectuer. N’oubliez pas de manipuler les paramètres (nom des axes, graduation, couleurs, etc.).
Courbe
from matplotlib import pyplot # Librairie : ici on l'a importée directement, donc on l'appelle avec pyplot
pyplot.plot(data) # Créer une courbe
pyplot.show() #Afficher la courbeHistogramme
from matplotlib import pyplot # Librairie : ici on l'a importée directement, donc on l'appelle avec pyplot
plt.hist(data) # Créer un histogramme
plt.show() # Afficher un histogrammeNuage de points
from matplotlib import pyplot # Librairie : ici on l'a importée directement, donc on l'appelle avec pyplot
plt.scatter(data1, data2) # Créer le nuage
plt.show() #Afficher le nuageimport pandas as pd # Librairie
df = pd.dataframe(data)
df.describe() # Equivalent à summary() en R : résume les données
import numpy # Librairie
numpy.sum(data) # Somme
numpy.mean(data) # Moyenne
numpy.median(data) # Médiane
numpy.var(data) # Variance
numpy.std(data) # Ecart-Type
numpy.percentile(data, 25) # Percentile (ici on a précisé 25, soit Q1, on peut aussi mettre 75 pour Q3 ou tout autre percentile entre 1 et 100))
from scipy import stats # Librairie
stats.mode(data) # Mode (variable avec le plus gros effectif)round() # Arrondir
r2 = metrics.r2_score(donnees_reelles, donnees_predites) # Coefficient de détermination (à quel point le modèle explique les données)Récapitulatif Tests Statistiques
💡 Si vous ne disposez pas des librairies et/ou modules utilisés, il suffit de les installer en se référant au chapitre à ce propos.Test de Shapiro-Wilk
Test de Normalité (suit une Loi Normale).
from scipy.stats import shapiro # Librairie
shapiro(data) # Fonction (où data représente le tableau de données, qu'on peut nommer dinosare ou pancakes si on veutTest de Pearson
Test de corrélation (lien d’évolution entre des variables).
from scipy. stats import pearsonr # Librairie
pearsonr(data) # FonctionTest de Spearman
Test de corrélation (lien d’évolution entre des variables) basé sur les rangs (leur classement, leur position par rapport aux autres) et non les valeurs.
from scipy. stats import spearmanr # Librairie
spearmanr(data) # FonctionTest du Chi-Deux
Tester si des variables qualitatives sont dépendantes.
from scipy.stats import chi2_contingency # Librairie
chi2_contingency(data) # FonctionTest de Student
Tester si les moyennes de deux grands échantillons indépendants sont significativement différentes.
from scipy.stats import ttest_ind # Librairie
ttest_ind(data1, data2) # Fonction où data1 et data2 représentent les jeux de données à comparer, là encore, on les nommes comme on le souhaite)Test d’Analyse de la Variance (ANOVA)
Tester si les moyennes de plusieurs grands échantillons sont significativement différentes.
from scipy.stats import f_oneway # Librairie
stat, p = f_oneway(data1, data2, data3) # Fonction où data1, data2 et data3 représentent les jeux de données à comparerTest Mann-Whitney
Comparer la distribution de deux petits échantillons indépendants.
from scipy.stats import mannwhitneyu # Librairie
stat, p = mannwhitneyu(data1, data2) # Fonction où data1 et data2 représentent les jeux de données à comparerTest de Wilcoxon
Comparer la distribution de deux petits échantillons indépendants en se basant sur leurs rangs.
from scipy.stats import wilcoxon # Librairie
wilcoxon(data1, data2) # Fonction où data1 et data2 représentent les jeux de données à comparer💡 Pour un tutoriel pas à pas, se référer à ce Notebook.
Objectifs
PyTorch est une librairie Python très pratique pour le Machine Learning. Il s’avère très pratique quand on fait appel à des réseaux neuronaux profonds (Deep Learning).
Librairie
On doit d’abord installer la librairie sur le terminal de commande.
pip install torchOn l’appelle ensuite comme on le fait pour les autres.
import torchUtilisation
💡 Tutoriel en français.
On utilise un module de la bibliothèque SciKit-Learn.
from sklearn.ensemble import GradientBoostingRegressor💡 Pour un tutoriel pas à pas, se référer à ce Notebook.
On va ensuite séparer les données en 2 parties :
- Un jeu de données assez grand (au moins la moitié) pour que le modèle puisse apprendre à prédire.
- Un plus petit jeu de données pour qu’il puisse s’entraîner.
S’il ne s’entraîne pas, il sera bon sur les données sur lesquelles il a appris, mais très mauvais en généralisation, c’est ce qu’on appelle de l’overfitting.
On utilise un autre module de la bibliothèque SciKit-Learn.
from sklearn.ensemble import RandomForestRegressorOn va ensuite séparer les données en 2 parties :
- Un jeu de données assez grand (au moins la moitié) pour que le modèle puisse apprendre à prédire.
- Un plus petit jeu de données pour qu’il puisse s’entraîner.
💡 Pour un tutoriel pas à pas, se référer à ce Notebook.
On utilise encore un module de la bibliothèque Scikit-Learn.
from sklearn.linear_model import LinearRegression # Librairie
model = LinearRegression().fit(X_train, y) # Créer la régression à partir de X (variable indépendante) et y (variable dépendante)
model.score(X_train, y) # Score de régression (coefficient de détermination R2)
model.coef_ # Coefficient(s) de régression (β1, β2, etc.) NB : il s'agit d'un modèle simple lorsqu'on a uniquement β1Rég
model.intercept_ # Coefficient β0 (ordonnée à l'origine)
model.predict(X_test) # Prédire grâce au modèleVous pouvez retrouver un exemple d'utilisation de cette bibliothèque ici.
On utilise un autre module de la même bibliothèque.
from sklearn.linear_model import LogisticRegression # Librairie
model = LogisticRegression().fit(X, y) # Créer la régression à partir de X (variable indépendante) et y (variable dépendante)
model.score(X_train, y) # Score de régression (coefficient de détermination R2)
model.coef_ # Coefficient(s) de régression (β1, β2, etc.) NB : il s'agit d'un modèle simple lorsqu'on a uniquement β1Rég
model.intercept # Coefficient β0 (ordonnée à l'origine)
predict(X_test) # Prédire grâce au modèle
model.summary() # On affiche les statistiques importantes (AIC, BIC, R2, R2 ajusté, résidus, etc.)Exercices (énoncés et corrigés) par Miguel Palencia-Olivar.
Ressource très complète d’aide et tutos.
Playlist sur le Machine Learning Python en français.
Tutoriel sur PyTorch en français.
Notebooks explicatifs (Machine Learning, optimisation, ondelettes, etc.).
Notebook sur le Quantile Boosting & Random Forest sur des données temporelles.