When I use your MoviLen DataSet code(support.py), I find out methods of computing NDCG metrics is wrong. for example, model predicted User vector is [[0],[1],[0],[1],[0],[0],[0],[0],[0],[0]] in your code, which is 2-dimension array. In this situation, DCG & IDCG is a same value so that NDCG is more than real.
When I use your MoviLen DataSet code(support.py), I find out methods of computing NDCG metrics is wrong. for example, model predicted User vector is [[0],[1],[0],[1],[0],[0],[0],[0],[0],[0]] in your code, which is 2-dimension array. In this situation, DCG & IDCG is a same value so that NDCG is more than real.