Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 def test_PRED_MAE_load(self):
     mae = MAE()
     mae.load(self.GT_DATA, self.TEST_DATA)
     assert_equal(mae.compute(), 0.7)
Ejemplo n.º 3
0
 def test_PRED_MAE_load(self):
     mae = MAE()
     mae.load(self.GT_DATA, self.TEST_DATA)
     assert_equal(mae.compute(), 0.7)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
                        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")