def test_basic(): nr_class = 3 model = AveragedPerceptron(((1,), (2,), (3,), (4,), (5,))) instances = [ (1, {1: 1, 3: -5}), (2, {2: 4, 3: 5}) ] for clas, feats in instances: eg = Example(nr_class) eg.set_features(feats) model(eg) eg.set_label(clas) model.update(eg) eg = Example(nr_class) eg.set_features({1: 2, 2: 1}) model(eg) assert eg.guess == 2 eg = Example(nr_class) eg.set_features({0: 2, 2: 1}) model(eg) assert eg.scores[1] == 0 eg = Example(nr_class) eg.set_features({1: 2, 2: 1}) model(eg) assert eg.scores[2] > 0 eg = Example(nr_class) eg.set_features({1: 2, 1: 1}) model(eg) assert eg.scores[1] > 0 eg = Example(nr_class) eg.set_features({0: 3, 3: 1}) model(eg) assert eg.scores[1] < 0 eg = Example(nr_class) eg.set_features({0: 3, 3: 1}) model(eg) assert eg.scores[2] > 0
def get_score(nr_class, model, feats, clas): eg = Example(nr_class) eg.set_features(feats) eg.set_label(clas) model(eg) return eg.scores[clas]