Understanding Machine Learning Through Visualizations with Benjamin Bengfort and Rebecca Bilbro

The Python Podcast.__init__

Episode | Podcast

Date: Sun, 17 Jun 2018 09:00:00 -0400

<h3>Summary</h3> <p>Machine learning models are often inscrutable and it can be difficult to know whether you are making progress. To improve feedback and speed up iteration cycles Benjamin Bengfort and Rebecca Bilbro built Yellowbrick to easily generate visualizations of model performance. In this episode they explain how to use Yellowbrick in the process of building a machine learning project, how it aids in understanding how different parameters impact the outcome, and the improved understanding among teammates that it creates. They also explain how it integrates with the scikit-learn API, the difficulty of producing effective visualizations, and future plans for improvement and new features.</p> <h3>Preface</h3> <ul> <li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li> <li>When you&#8217;re ready to launch your next app you&#8217;ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&amp;utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li> <li>To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&amp;utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li> <li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&amp;utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at <a href="https://twtiter.com/podcastinit?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li> <li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li> <li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Rebecca Bilbro and Benjamin Bengfort about Yellowbrick, a scikit extension to use visualizations for assisting with model selection in your data science projects.</li> </ul> <h3>Interview</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>Can you describe the use case for Yellowbrick and how the project got started?</li> <li>What is involved in visualizing scikit-learn models? <ul> <li>What kinds of information do the visualizations convey?</li> <li>How do they aid in understanding what is happening in the models?</li> </ul> </li> <li>How much direction does yellowbrick provide in terms of knowing which visualizations will be helpful in various circumstances?</li> <li>What does the workflow look like for someone using Yellowbrick while iterating on a data science project?</li> <li>What are some of the common points of confusion that your students encounter when learning data science and how has yellowbrick assisted in achieving understanding?</li> <li>How is Yellowbrick iplemented and how has the design changed over the lifetime of the project?</li> <li>What would be required to integrate with other visualization libraries and what benefits (if any) might that provide? <ul> <li>What about other ML frameworks?</li> </ul> </li> <li>What are some of the most challenging or unexpected aspects of building and maintaining Yellowbrick?</li> <li>What are the limitations or edge cases for yellowbrick?</li> <li>What do you have planned for the future of yellowbrick?</li> <li>Beyond visualization, what are some of the other areas that you would like to see innovation in how data science is taught and/or conducted to make it more accessible?</li> </ul> <h3>Keep In Touch</h3> <ul> <li>Rebecca Bilbro <ul> <li><a href="https://github.com/rebeccabilbro?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Github</a></li> <li><a href="https://twitter.com/RebeccaBilbro?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Twitter</a></li> </ul> </li> <li>Benjamin Bengfort <ul> <li><a href="https://github.com/bbengfort?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Github</a></li> <li><a href="https://twitter.com/bbengfort?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Twitter</a></li> </ul> </li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="https://feeds.fireside.fm/pythonpodcast/rss">Poutine</a></li> </ul> </li> <li>Rebecca <ul> <li><a href="https://i.pinimg.com/originals/8c/87/12/8c8712cabf06aaa4c8fe853e867902cd.jpg?utm_source=rss&amp;utm_medium=rss" rel="nofollow noopener" target="_blank">The color yellow</a></li> </ul> </li> <li>Benjamin <ul> <li><a href="https://www.nhl.com/video/allcaps/t-277350912/c-53167003?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">ALL CAPS</a></li> </ul> </li> </ul> <h3>Links</h3> <ul> <li><a href="http://hadoop.apache.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Hadoop</a></li> <li><a href="https://en.wikipedia.org/wiki/Natural_language_processing?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Natural Language Processing</a></li> <li><a href="https://en.wikipedia.org/wiki/Machine_learning?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Machine Learning</a></li> <li><a href="http://scikit-learn.org/stable/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">scikit-learn</a></li> <li><a href="https://adalabucsd.github.io/papers/2015_MSMS_SIGMODRecord.pdf?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Model Selection Triple</a></li> <li><a href="http://www.scikit-yb.org/en/latest/tutorial.html#the-model-selection-triple?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">the machine learning workflow</a></li> <li><a href="http://www.scikit-yb.org/en/latest/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">scikit-yb</a></li> <li><a href="https://github.com/DistrictDataLabs/yellowbrick?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Yellowbrick</a></li> <li><a href="http://www.scikit-yb.org/en/latest/contributing.html#visualizer-api?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Visualizer API</a></li> <li><a href="http://www.scikit-yb.org/en/latest/contributing.html#testing?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Visual Tests</a></li> <li><a href="http://jupyter.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Jupyter</a></li> <li><a href="https://matplotlib.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Matplotlib</a></li> <li><a href="https://www.tensorflow.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Tensorflow</a></li> <li><a href="https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning)?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Hyperparameter</a></li> <li><a href="http://www.scikit-yb.org/en/latest/api/features/pcoords.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Parallel Coordinates</a></li> <li><a href="http://www.scikit-yb.org/en/latest/api/features/radviz.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Radviz</a></li> <li><a href="http://www.scikit-yb.org/en/latest/api/features/rankd.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Rank2D</a></li> <li><a href="http://www.scikit-yb.org/en/latest/api/regressor/peplot.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Prediction Error Plot</a></li> <li><a href="http://www.scikit-yb.org/en/latest/api/regressor/residuals.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Residuals Plot</a></li> <li><a href="http://www.scikit-yb.org/en/latest/api/model_selection/validation_curve.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Validation Curves</a></li> <li><a href="http://www.scikit-yb.org/en/latest/api/regressor/alphas.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Alpha Selection</a></li> <li><a href="http://www.scikit-yb.org/en/latest/api/text/freqdist.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Frequency Distribution Plot</a></li> <li><a href="https://en.wikipedia.org/wiki/Bayes%27_theorem?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Bayes Theorem</a></li> <li><a href="https://seaborn.pydata.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Seaborn</a></li> <li><a href="https://en.wikipedia.org/wiki/Stop_words?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Stop Words</a></li> <li><a href="https://en.wikipedia.org/wiki/N-gram?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">N-gram</a></li> <li><a href="https://www.districtdatalabs.com/fairness-and-bias-in-algorithms?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Craig &#8211; Bias and Fairness of Algorithms</a></li> <li><a href="https://shiny.rstudio.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Shiny</a></li> <li><a href="https://bokeh.pydata.org/en/latest/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Bokeh</a></li> <li><a href="https://keras.io/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Keras</a></li> <li><a href="https://www.statsmodels.org/stable/index.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">StatsModels</a></li> <li><a href="https://github.com/tensorflow/tensorboard?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Tensorboard</a></li> <li><a href="https://pytorch.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">PyTorch</a></li> <li><a href="http://www.numpy.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">NumPy</a></li> <li><a href="https://en.wikipedia.org/wiki/Voxel?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Voxel</a></li> <li><a href="http://www.scikit-yb.org/en/latest/about.html#name-origin?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Wizard of Oz</a></li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a><img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fyellowbrick-with-bejnamin-bengfort-and-rebecca-bilbro-episode-166%2F&amp;action_name=Understanding+Machine+Learning+Through+Visualizations+with+Benjamin+Bengfort+and+Rebecca+Bilbro+-+Episode+166&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&amp;utm_source=rss&amp;utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" /></p>