Non-negative Matrix Factorization you own this product

Intermediate Python • linear algebra • basics of machine learning
skills learned
Implementing a simplified version of the NMF algorithm • preprocessing and converting text corpus into a document-to-word matrix • generating topics using scikit-learn’s NMF algorithm • evaluating generated topics using Coherence and Diversity metrics • visualizing derived topics with a variety of techniques
Aneesha Bakharia
1 week · 6-8 hours per week · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!


5, 10 or 20 seats+ for your team - learn more

Look inside

In this liveProject you’ll use scikit-learn’s non-negative matrix factorization algorithm to perform topic modeling on a dataset of Twitter posts. You’ll step into the role of a data scientist tasked with summarizing Twitter discussions for the customer support team of an airline company and use this powerful algorithm to rapidly make sense of a large and complex text corpus. You’ll build a text preprocessing pipeline from scratch, visualize topic models, and finally compile a report of support topics for the customer services team.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

project author

Aneesha Bakharia
Aneesha Bakharia completed her PhD in interactive topic modeling at Queensland University of Technology in Australia. She is currently the Manager of Learning Analytics at The University of Queensland where she leads a team of programmers and data scientists. She has written 10 books on programming and web development for Cengage publishing. She also blogs about data science related topics, including topic modeling and she publishes academic peer reviewed publications on educational technologies and learning analytics.


This liveProject is for data scientists and developers who are confident programming with Python and the Python data ecosystem. To begin this liveProject you will need to be familiar with the following:

  • Intermediate Python
  • Basics of Jupyter Notebook
  • Linear algebra
  • Referencing Matrix cells by row and column index
  • Matrix subtraction, multiplication, and division
  • Basics of machine learning


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan


only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Non-negative Matrix Factorization project for free