Aujourd’hui les équipes Novagen vous présentent une infographie sur l’outil de prédilection des data scientists : le Notebook, plus particulièrement sur Jupyter et Apache Zeppelin qui sont les notebooks les plus répandus au sein des data labs (où officient data engineers, architectes big data, et autres data scientists), et que nous allons comparer.

En effet le notebook permet à la fois de :

  • bénéficier en mode markdown d’un outil de présentation (on pourra par exemple exposer des problèmes métier en incorporant des images ou encore présenter des algorithmes de Machine Learning au moyen de formules mathématiques),
  • d’explorer les big data avec des outils comme Apache Spark dont les instructions pourront s’écrire en Scala, en Python (PySpark) ou en R (SparkR),
  • d’exécuter des algorithmes de Machine Learning (depuis mllib, ml, scikit-learn, etc.),
  • mais aussi de faire de la visualisation (avec matplotlib, seaborn, bokeh, vegas viz, etc.).

Nous avons essayé d’illustrer certains de ces aspects dans un exemple, en Python où nous avons représenté en 3 dimensions une population divisée en deux classes (bleue et verte).

L’idée est de montrer comment, à partir des SVM (Support Vector Machines ou Séparateurs à vastes marges), représenter l’hyperplan optimal (en violet), qui maximise la distance entre la frontière de séparation et les individus les plus proches de celle-ci, appelés vecteurs supports (entourés par des cercles).

Cet exemple est plutôt orienté data science, et c’est principalement l’usage que l’on souhaitera faire d’un notebook qui justifiera le choix d’utiliser Jupyter, Apache Zeppelin, ou tout autre notebook. Bien sûr, la proximité avec tel ou tel langage pourra aussi être déterminante (par exemple les habitués de Python s’orienteront naturellement vers Jupyter).

C’est en réalisant ce comparatif que nous avons pris conscience que Jupyter et Apache Zeppelin étaient plutôt adaptés à des usages différents et nous espérons que vous pourrez aussi faire ce constat.

En effet, l’idée du comparatif nous est venue, au moment où nous débattions du notebook à choisir pour la réalisation de travaux pratiques dans le cadre d’une formation que nous mettions en place. Devant l’absence de comparatif sur le net, nous avons décidé d’en faire un nous-même et de le partager avec la communauté.

Nous espérons qu’il pourra être l’occasion pour ceux qui ne connaissent pas les notebooks, de découvrir à quoi ressemble un notebook et ce que cet outil permet de faire, et pour les autres d’avoir rapidement à l’esprit les différences entre Jupyter et Apache Zeppelin.

N’hésitez pas à nous faire part de vos expériences sur ces outils.