def test_PRED_MAE_different_list_sizes(self): mae = MAE() GT = [3, 1, 5, 2] # GT list has one element less than self.TEST_DATA mae.load(GT, self.TEST_DATA) assert_raises(ValueError, mae.compute)
def test_PRED_MAE_load(self): mae = MAE() mae.load(self.GT_DATA, self.TEST_DATA) assert_equal(mae.compute(), 0.7)
def test_PRED_MAE_load(self): mae = MAE() mae.load(self.GT_DATA, self.TEST_DATA) assert_equal(mae.compute(), 0.7)
def test_PRED_MAE_different_list_sizes(self): mae = MAE() GT = [3, 1, 5, 2] # GT list has one element less than self.TEST_DATA mae.load(GT, self.TEST_DATA) assert_raises(ValueError, mae.compute)
index = baseline._matrix.get().row_index(str(artist_id['artist_id']).encode('utf-8')) artist_count = baseline._matrix.get_value(str(artist_id['artist_id']).encode('utf-8'), str(user["_id"]).encode('utf-8')) counts[index] = artist_count pred_items = baseline.recommend(user["_id"], n=10, only_unknowns=False, is_row=False, v_vectors=v_vectors, sparse_matrix_vector=s_matrix_vector[0]['array']) for item_id, relevance in pred_items: index = baseline._matrix.get().row_index(str(item_id).encode('utf-8')) if index in counts: GT_DECISION.append(int(counts[index])) TEST_DECISION.append(relevance) if len(GT_DECISION) == 0 and len(TEST_DECISION) == 0: mae = 1.0 else: eval = MAE() eval.load(GT_DECISION, TEST_DECISION) mae = eval.compute() if mae > 1: x = 1 total_mae += float(mae) mae_count += 1 print "UserID: %s, Count: %s, MAE: %s" % (str(user["_id"]).encode('utf-8'), user['artist_distinct_count'], mae) myFile.write("UserID: " + str(user["_id"]).encode('utf-8') + ", " + "Count: " + str(user['artist_distinct_count']) + ", " + "MAE: " + str(mae) + "\n") count += 1 if count % 10 == 0: output_mae = float(total_mae) / float(mae_count) print "Interval: %s, Avg MAE: %s" % (start, output_mae) myFile.write("Interval: " + str(start) + ", " + "Average MAE: " + str(output_mae) + "\n")