I was introduced to NMF for data analysis. I implemented some code and obtained the result of basis matrix $W$ and feature matrix $H$.

From $V$ ~ $WH$, my $V$ dimension is 5100*1201. I inputted $W$ which has dimension equal to 5100*5. I got sparse $H$ with dimension 5*1201 with values in only (5*)632 columns. Does the column in this feature matrix represent the number hidden features? What conclusion I can draw here from two large sparse matrices?


Are you sure about the dimensions of H? In my opinion, the numbers should add up (i.e. if you had original dimensions as A X B, you should get back A * k and k * B, where k is number of factors, 5 in your case).

Nevertheless, we can talk about conclusions to be drawn as follows: think of NMF as a data compression scheme since matrix gets reduced to two smaller matrices. Now the question to be answered about any data compression scheme is

  1. How efficient it is (reduction in data size)
  2. How accurate it is (information loss due to compression)
  3. How is the trade-off between efficiency Vs. accuracy as you change number of factors.

You need to introduce some measure of accuracy in your code and then check 'how accurately can you reproduce the original matrix with 5 factors? How about 10 factors?'.

Second analysis to be done is accuracy on the task for which you are using NMF. For example,

  1. If you are using it for recommendations task, you can take a look at precision-recall metrics.
  2. If you are using it as feature pre-processing step in a regression/classification setting, take a look at model accuracy/F-score when you use original data and when you use NMF.

Hope this helps.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.