L’apprentissage automatique et l’intelligence artificielle sont devenus les nouveaux mots à la mode dans le monde de la technologie ; littéralement, tout le monde semble avoir pris conscience de l’importance de ce domaine d’étude
Un scientifique des données serait d’accord pour dire qu’il est difficile de se passer d’un carnet Jupyter à un moment ou à un autre, si ce n’est à chaque fois. Un grand nombre d’ingénieurs en IA/ML ont adopté l’utilisation du bloc-notes Jupyter comme outil pour écrire et tester les algorithmes/modèles
Mais qu’est-ce que Jupyter ? Et pourquoi l’appelle-t-on Notebook ?
Selon
Wikipédia, un carnet est un livre ou un classeur de papier à pages, souvent lignées, utilisé à de nombreuses fins telles que la prise de notes ou de mémoires, l’écriture, le dessin ou le scrapbooking
On peut donc dire qu’un carnet sert à exprimer un contexte, une idée ou une connaissance particulière à l’aide de textes, de diagrammes, de dessins, d’images, d’équations, de tableaux ou même de graphiques
Pourquoi alors Jupyter est-il désigné comme un carnet de notes ?
Parce qu’il fait exactement ce que l’on vient de dire ! Il est utilisé pour rédiger des documents, des codes, des textes, des images, des équations, des graphiques, des visualisations et même des tableaux
Qu’est-ce que le bloc-notes Jupyter ?
Jupyter Notebook est une application web open-source qui vous permet de créer et de partager des documents contenant du code, des équations, des visualisations et du texte narratif. Il peut être utilisé pour le nettoyage et la transformation de données, la simulation numérique, la modélisation statistique, la visualisation de données, l’apprentissage automatique et bien d’autres choses encore
Le plus souvent, le Jupyter Notebook est utilisé dans un environnement Python. Les résultats sont très interactifs et peuvent être facilement partagés, tout comme un carnet de notes classique
À quoi peut servir le Jupyter Notebook ?
Écrire dans plusieurs langues
Le système Jupyter supporte plus de 100 langages de programmation (appelés “noyaux” dans l’écosystème Jupyter), dont Python, Java, R, Julia, Matlab, Octave, Scheme, Processing, Scala, et bien d’autres encore. Vous pouvez partager le code écrit dans le Notebook avec d’autres personnes
Voici quelques langages qui peuvent être écrits dans un notebook Jupyter
Python
De tous les langages qui peuvent être écrits avec Jupyter, Python est le plus populaire avec le notebook. Presque tous ceux qui écrivent du code dans l’environnement Jupyter écrivent en Python. Par défaut, Jupyter prend en charge Python dans son environnement sans utiliser de commandes magiques spéciales.
def hello_world() : Â Â Â Â Â
print("Hello world !!!")
hello_world()
Le résultat serait le suivant
Bonjour le monde
!!!
JavaScript
JavaScript est populairement connu pour le web et peut également être écrit dans Jupyter. Contrairement à Python, JavaScript n’est pas pris en charge par défaut. Vous devez utiliser une commande spéciale pour indiquer à la cellule dans laquelle vous l’exécutez qu’il s’agit d’un code JavaScript. Ces commandes sont souvent appelées commandes magiques. Pour JavaScript, la commande est %%javascript
Il y a également une limite au code JavaScript que vous pouvez exécuter dans Jupyter Notebook, contrairement à Python
%%javascript
const text = "hello world"
alert(text)
Java
Il permet d’intégrer des “noyaux” supplémentaires, c’est-à-dire des langages. Un tel noyau peut être installé en suivant les instructions d’installation ici. Après l’installation, exécutez la commande suivante dans votre terminal Jupyter si vous êtes sous Linux
jupyter console --kernel=java
Jupyter
console 5.1.0
Java 9.0.4 11 : : IJava kernel 1.1.0-SNAPSHOT
Protocol v5.0 implementation by jupyter-jvm-basekernel 2.2.1-SNAPSHOT
In [1]
Matlab
Il intègre le calcul, la visualisation et la programmation dans un environnement facile à utiliser où les problèmes et les solutions sont exprimés dans une notation mathématique familière
Pour utiliser Matlab dans Jupyter Notebook, vous devez d’abord installer Jupyter-Matlab. La première chose à faire est de créer un environnement virtuel
- Ouvrez votre prompt Jupyter sous Windows ou simplement votre terminal sous Linux et tapez la commande suivante
conda create -vv -n jmatlab python=3.5 jupyter
- Assurez-vous de rester dans ce terminal, puis tapez le code suivant
source activate jmatlab
- Installez ensuite le noyau Matlab pour Python
pip install matlab_kernal
python
-m matlab_kernel install
- Vérifiez que le noyau est correctement installé
jupyter kernelspec list
- Trouvez votre répertoire MATLAB.Â/Applications/MATLAB_R2017a.appâ.
- Allez dans le sous-répertoire âextern/engines/pythonâ et installez le moteur Python.
cd â/Applications/MATLAB_R2017a.app/extern/engines/pythonâ
python
setup.py install
- Démarrez le carnet Jupyter
<span class="n">cd</span> <span class="n">votre_répertoire_de_travail</span>
jupyter
<span class="n">notebook</span>
Une fois lancé, il devrait maintenant y avoir une option pour Matlab et python
Marques de fabrique
Jupyter notebook est très pratique lorsqu’il s’agit d’écrire du markdown, et cela peut être très utile lorsque vous voulez donner une explication verbeuse ou bien détaillée d’un morceau de code, écrire de la documentation, ou un dictionnaire pour un ensemble de données particulier
Tapez le code ci-dessous dans un carnet
*
[Pandas](#pandas),
  Utilisé pour l'analyse de données
*
[Numpy](#numpy),
  Utilisé pour l'analyse numérique
*
[Matplotlib](#matplotlib),
  Utilisé pour la visualisation de données
Le résultat devrait être le suivant
Scripts Bash
Jupyter Notebooks permet l’utilisation de scripts bash en utilisant la commande magique %ºsh
Pour tester, créons un dossier dans votre répertoire de travail actuel. Tapez le code suivant dans une cellule du Notebook
%ºsh
mkdir
Test_Folder
Exécutez le code, puis vérifiez votre répertoire de travail en tapant le code suivant
%ºsh
ls
Vous verrez que le dossier Test_Folder
y a été ajouté. Vous pouvez également vous rendre physiquement dans ce dossier pour vérifier
Visualisation des données
Grâce à des bibliothèques Python telles que matplotlib
, vous pouvez exécuter et afficher des visualisations de données directement dans votre navigateur
Essayons de réaliser une visualisation très basique à l’aide de matplotlib
Nous commencerons par importer la bibliothèque
from matplotlib import pyplot as plt
%matplotlib
inline
Saisissez ensuite les codes suivants
x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
y
= [11, 12, 13, 14, 15, 16, 17, 18, 19]
plt.plot(x, y)

Ce qui est encore plus intriguant, c’est que nous pourrions faire des visualisations en 3D !
Nous devons d’abord importer la bibliothèque de visualisation 3D
from mpl_toolkits import mplot3d
import numpy as np
Créez ensuite une projection 3D
fig = plt.figure()
ax = plt.axes(projection='3d')
Notre résultat devrait ressembler à ceci
Maintenant, exécutez les scripts suivants
def f(x, y) :
    return np.sin(np.sqrt(x ** 2 y ** 2))
x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)
ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
        cmap='viridis', edgecolor='none')
ax.set_title('surface')
Notations mathématiques et scientifiques
Nous pouvons utiliser des outils comme Latex directement dans notre Notebook Jupyter pour taper des équations mathématiques et scientifiques
LaTeX est un système de composition de haute qualité ; il comprend des fonctionnalités conçues pour la production de documentation technique et scientifique. Vous pouvez en savoir plus sur Latex en cliquant ici. Essayons d’exécuter quelques codes LaTex simples
Tapez les commandes LaTex suivantes
## $J(\theta_0) = \frac{1}{2m}\sum_{i=0}^{m} (h_\theta(x^{(i)})
–
y^{(i)})^2$
La sortie devrait être de ce type
Conclusion
Cet article ne fait qu’effleurer la surface de ce qui peut être réalisé avec l’utilisation des carnets Jupyter. Vous pouvez trouver la plupart des exemples de cet article dans ce carnet Jupyter que j’ai créé ici sur collaboratory