Changeset 10279:2135533fdf0c in orange


Ignore:
Timestamp:
02/16/12 14:36:53 (2 years ago)
Author:
anzeh <anze.staric@…>
Branch:
default
rebase_source:
8ace2f236e74ce314377e57d381307e04859545d
Message:

Added tests for CA

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/testing/unit/tests/test_evaluation_scoring.py

    r10259 r10279  
    1111        prob = [i/sprob for i in prob] 
    1212        distribution.Discrete(prob) 
    13         return data.domain.class_var[0], prob 
     13        return data.domain.class_var[random.randint(0, 
     14            len(data.domain.class_var.values)-1)], prob 
    1415    return random_classifier 
    1516 
     
    9495 
    9596 
     97class TestCA(unittest.TestCase): 
     98    def setUp(self): 
     99        self.learner = random_learner 
     100 
     101    def test_ca_on_iris(self): 
     102        ds = data.Table("iris") 
     103        cv = testing.cross_validation([self.learner], ds, folds=5) 
     104        ca = scoring.CA(cv) 
     105        self.assertEqual(len(ca), 1) 
     106 
     107    def test_ca_from_confusion_matrix_list_on_iris(self): 
     108        ds = data.Table("iris") 
     109        cv = testing.cross_validation([self.learner], ds, folds=5) 
     110        cm = scoring.confusion_matrices(cv) 
     111        ca = scoring.CA(cm) 
     112        self.assertEqual(len(ca), 1) 
     113 
     114    def test_ca_from_confusion_matrix_on_iris(self): 
     115        ds = data.Table("iris") 
     116        cv = testing.cross_validation([self.learner], ds, folds=5) 
     117        cm = scoring.confusion_matrices(cv, class_index=1) 
     118        ca = scoring.CA(cm[0]) 
     119        self.assertTrue(isinstance(ca, float)) 
     120 
     121    def test_ca_from_confusion_matrix_for_classification_on_iris(self): 
     122        ds = data.Table("iris") 
     123        pt = testing.proportion_test([self.learner], ds, times=1) 
     124        self.assertEqual(pt.number_of_iterations, 1) 
     125        print pt.number_of_iterations 
     126        ca = scoring.CA(pt) 
     127        self.assertEqual(len(ca), 1) 
     128 
     129    def test_ca_from_confusion_matrix_for_classification_on_iris_se(self): 
     130        ds = data.Table("iris") 
     131        pt = testing.proportion_test([self.learner], ds, times=1) 
     132        self.assertEqual(pt.number_of_iterations, 1) 
     133        ca = scoring.CA(pt, report_se=True) 
     134        self.assertEqual(len(ca), 1) 
     135 
     136    def test_ca_from_confusion_matrix_on_iris_se(self): 
     137        ds = data.Table("iris") 
     138        cv = testing.cross_validation([self.learner], ds, folds=5) 
     139        cm = scoring.confusion_matrices(cv, class_index=1) 
     140        ca = scoring.CA(cm[0], report_se=True) 
     141        self.assertTrue(isinstance(ca, tuple)) 
     142 
     143    def test_ca_on_iris(self): 
     144        ds = data.Table("iris") 
     145        cv = testing.cross_validation([self.learner], ds, folds=5) 
     146        ca = scoring.CA(cv, report_se=True) 
     147        self.assertEqual(len(ca), 1) 
     148 
    96149if __name__ == '__main__': 
    97150    unittest.main() 
Note: See TracChangeset for help on using the changeset viewer.