Python is a Snake, Jupiter is Misspelled and that UI Stinks! The Problem with Jupyter Notebooks
“Is that web page filled with terminal windows?”
Don’t get me wrong, I love Python and Jupyter notebooks — heck, got about 10 sessions open on my Mac right now — but it’s like that ugly face only a mother could love. We’re so used to it that we use it to share our analysis with others only to be surprised by lackluster feedback.
Two Visitors from Jupiter
Imagine a data scientist entertaining two beings from another planet. They know nothing of nerds, of geekdom, the things that you and I take for granted every day. To them, Python is a big, fat, scary snake and misspelling planets is a sure-fire way to start things on the wrong foot.
But you reel them with the palatable excitement you ooze whenever discussing a pet data science project. You talk about how you cleaned the data, the different models you used, and at times, even multiple models at the same time! You dazzle them with the ability to predict at an impressive percentage accuracy figure only to counter that you fully understand the limitations of such measure, especially when dealing with probabilities and imbalanced classes.
You pause and turn around, ready to scrape jaws off the floor, instead, you catch one yawning and the other furtively looking at his watch.
It doesn’t matter how powerful you feel, how much of a quantitative edge you think you have over common, non-data people, if you can’t share and empower others with your findings, you’ve failed!
The MVT Light Stack
I came up with this moniker, and I think it’s catchy, but I certainly didn’t invent anything. People have been striving since the beginning of nerd times to find faster ways to prototype programming ideas into ever better-looking products. Think C++ to VB, or Java/Xcode to Flutter. Well, we Python machine learners now have the MVT Light Stack. We could even call it the stupid stack ’cause it is that easy to use and the ramifications to the end-user are beyond better, they’re planetary!
This is an extremely easy path that pushes data scientists to think beyond modeling and towards end-users’ needs and the ways it can enrich their lives — but that won’t happen solely with a Jupyter notebook.
The Esperanto of UI’s
What is the biggest network in the world? What is the most ubiquitous set of controls known to mankind? Yes, it is the Internet and HTML. Whatever you port to that wonderful digital superhighway, it becomes accessible to almost anywhere on Planet Earth. The glue between Python and the world is Flask. Because Flask is a Python library, you get to keep all your code, libraries, Tensorflow models, whatever, within this ecosystem and you can pass data directly to Flask functions if you choose too. Flask will then fill HTML templates with dynamic content, whether numbers, text, images, videos, sounds, anything. You throw a few HTML controls on the page and, suddenly, miraculously, every inhabitant of earth can interact with your model! They don’t care if it is ensembled, blended, high AUC, or what optimal cut-off threshold you picked, they just want that actionable insight you promised and can finally deliver.
So, Jupyterians, if you are intrigued by this approach, check out all the free videos I made on this topic at https://www.viralml.com/category.html?cat=WebApps or peruse all the information at ViralML.com There, you will find blog posts, videos, vlogs, and even classes espousing this way of life.
Thanks for reading and spreading the word! Sign up for my newsletter at ViralML.com
Manuel Amunategui
amunategui@gmail.com
Twitter: @amunategui
Follow my latest projects at ViralML.com, KeepTheTalk.com & amunategui.github.io.