Alternative segmentation with NMF
In this exercise, you will analyze product purchase data and identify meaningful segments using non-negative matrix factorization algorithm (NMF). It works well with sparse customer by product matrices that are typical in the e-commerce or retail space. Finally, you will extract the components that you will then explore in the upcoming exercise.
We have loaded pandas as pd and numpy as np. Also, the raw customer by product purchase dataset has been loaded as wholesale.
This exercise is part of the course
Machine Learning for Marketing in Python
Exercise instructions
- Import the non-negative matrix factorization function from
sklearn.decomposition. - Initialize
NMFinstance with 4 components. - Fit the model on the
wholesalesales data. - Extract and store the components as a
pandasDataFrame.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Import the non-negative matrix factorization module
from sklearn.decomposition import ___
# Initialize NMF instance with 4 components
nmf = ___(4)
# Fit the model on the wholesale sales data
nmf.___(wholesale)
# Extract the components
components = pd.DataFrame(data=nmf.___, columns=wholesale.columns)