1
2
3
4
5
6
7 from nltk_lite.contrib.classifier import discretisedattribute as da, numrange as nr, attribute as attr
8 from nltk_lite.contrib.classifier.exceptions import invaliddataerror as inv
9 from nltk_lite.contrib.classifier_tests import *
10
13 ranges = [nr.Range(2, 4), nr.Range(4, 6), nr.Range(6, 8), nr.Range(8, 10, True)]
14 self.assertEqual(0, da.binary_search(ranges, 2))
15 self.assertEqual(1, da.binary_search(ranges, 4))
16 self.assertEqual(3, da.binary_search(ranges, 10))
17 self.assertEqual(-1, da.binary_search(ranges, 1))
18 self.assertEqual(-1, da.binary_search(ranges, 11))
19
20 ranges = [nr.Range(2, 4), nr.Range(4, 6), nr.Range(6, 8, True)]
21 self.assertEqual(-1, da.binary_search(ranges, 9))
22 self.assertEqual(2, da.binary_search(ranges, 8))
23
24 ranges = nr.Range(6, 32, True).split(3)
25 self.assertEqual(0, da.binary_search(ranges, 12))
26
27 ranges = nr.Range(0, 2, True).split(2)
28 self.assertEqual(0, da.binary_search(ranges, 0))
29
31 ranges = nr.Range(-10, 40, True).split(5)
32 disc_attr = da.DiscretisedAttribute('temperature', ranges, 1)
33 self.assertEqual('temperature', disc_attr.name)
34 self.assertEqual(['a', 'b', 'c', 'd', 'e'], disc_attr.values)
35 self.assertEqual(ranges, disc_attr.ranges)
36 self.assertEqual(1, disc_attr.index)
37 self.assertEqual(attr.DISCRETE, disc_attr.type)
38
40 ranges = nr.Range(-10, 40, True).split(5)
41 disc_attr = da.DiscretisedAttribute('temperature', ranges, 1)
42 self.assertEqual('a', disc_attr.mapping(-10))
43 self.assertEqual('b', disc_attr.mapping(0))
44 self.assertEqual('b', disc_attr.mapping(1))
45 self.assertEqual('c', disc_attr.mapping(10))
46 self.assertEqual('e', disc_attr.mapping(40))
47
56