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
NMF
instance with 4 components. - Fit the model on the
wholesale
sales data. - Extract and store the components as a
pandas
DataFrame.
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)