def _normalize_item_avg(input_matrix): output_matrix = np.copy(input_matrix) item_sums = np.sum(input_matrix,axis=0) number_of_users_that_rated_each_item = np.apply_along_axis(qtty_nonzeros,0,input_matrix) item_avgs = item_sums / number_of_users_that_rated_each_item for i in range(0,input_matrix.shape[1]): output_matrix[:,i] = subtract_nonzeros(input_matrix[:,i],item_avgs[i]) return(output_matrix)
def _normalize_user_avg(input_matrix): output_matrix = np.copy(input_matrix) user_sums = np.sum(input_matrix,axis=1) number_of_items_rated_by_each_user = np.apply_along_axis(qtty_nonzeros,1,input_matrix) user_avgs = user_sums / number_of_items_rated_by_each_user for i in range(0,input_matrix.shape[0]): output_matrix[i,:] = subtract_nonzeros(input_matrix[i,:],user_avgs[i]) return(output_matrix)
def _normalize_item_avg(input_matrix): output_matrix = np.copy(input_matrix) item_sums = np.sum(input_matrix, axis=0) number_of_users_that_rated_each_item = np.apply_along_axis( qtty_nonzeros, 0, input_matrix) item_avgs = item_sums / number_of_users_that_rated_each_item for i in range(0, input_matrix.shape[1]): output_matrix[:, i] = subtract_nonzeros(input_matrix[:, i], item_avgs[i]) return (output_matrix)
def _normalize_user_avg(input_matrix): output_matrix = np.copy(input_matrix) user_sums = np.sum(input_matrix, axis=1) number_of_items_rated_by_each_user = np.apply_along_axis( qtty_nonzeros, 1, input_matrix) user_avgs = user_sums / number_of_items_rated_by_each_user for i in range(0, input_matrix.shape[0]): output_matrix[i, :] = subtract_nonzeros(input_matrix[i, :], user_avgs[i]) return (output_matrix)