Skip to content

Commit

Permalink
Merge pull request #903 from VesnaT/scoring_average_arg
Browse files Browse the repository at this point in the history
Scoring: Add average kwarg to Precision and Recall
  • Loading branch information
BlazZupan committed Dec 7, 2015
2 parents 2febbdb + ea67c5b commit ef72460
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 3 deletions.
6 changes: 4 additions & 2 deletions Orange/evaluation/scoring.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,16 @@ class Precision(Score):
__wraps__ = skl_metrics.precision_score

def compute_score(self, results):
return self.from_predicted(results, skl_metrics.precision_score)
return self.from_predicted(results, skl_metrics.precision_score,
average="weighted")


class Recall(Score):
__wraps__ = skl_metrics.recall_score

def compute_score(self, results):
return self.from_predicted(results, skl_metrics.recall_score)
return self.from_predicted(results, skl_metrics.recall_score,
average="weighted")


class F1(Score):
Expand Down
21 changes: 20 additions & 1 deletion Orange/tests/test_evaluation_scoring.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,29 @@
import numpy as np

import Orange
from Orange.evaluation import AUC, CA, Results, F1
from Orange.data import Table
from Orange.classification import LogisticRegressionLearner
from Orange.evaluation import AUC, CA, Results, Recall, \
Precision, TestOnTrainingData
from Orange.preprocess import discretize


class ScoringTest(unittest.TestCase):
def test_Recall(self):
data = Table('iris')
learner = LogisticRegressionLearner()
results = TestOnTrainingData(data, [learner])
self.assertGreater(Recall(results)[0], 0.9)
self.assertEqual(round(Recall(results)[0], 3), 0.927)

def test_Precision(self):
data = Table('iris')
learner = LogisticRegressionLearner()
results = TestOnTrainingData(data, [learner])
self.assertGreater(Precision(results)[0], 0.9)
self.assertEqual(round(Precision(results)[0], 3), 0.928)


class Scoring_CA_Test(unittest.TestCase):
def test_init(self):
res = Results(nmethods=2, nrows=100)
Expand Down

0 comments on commit ef72460

Please sign in to comment.