All problems
Mean-Center by User
Problem
Center each user's ratings by their observed mean.
For every row, compute the mean over nonzero entries only, subtract it from those entries, and leave zeros as 0.0. A row with no ratings stays all zeros.
Hint
Users rate on different scales; centering removes each user's personal bias.
Test cases
case 1
in: [[[5,0,3],[0,0,0]]]
expected: [[1,0,-1],[0,0,0]]
case 2
in: [[[2,4],[6,2]]]
expected: [[-1,1],[2,-2]]
case 3
in: [[[1,2,3]]]
expected: [[-1,0,1]]
case 4
in: [[[0,0],[80,20]]]
expected: [[0,0],[30,-30]]
Starter codePython
def mean_center_by_user(matrix):
# Your code here
pass4 test cases · run your code against them in the editor