Пример #1
0
 def test_confidence(self):
     db = CsvDatabase(self.path)
     a1 = AttributeValue('age', 'young')
     a2 = AttributeValue('spectacle-prescrip', 'myope')
     a3 = AttributeValue('astigmatism', 'yes')
     set1 = ItemSet.create_itemset(a1, a2)
     set2 = ItemSet.create_itemset(a3)
     self.assertEqual(db.confidence(set1, set2), 2 / 4)
Пример #2
0
 def test_support_count(self):
     db = CsvDatabase(self.path)
     a1 = AttributeValue('age', 'young')
     a2 = AttributeValue('spectacle-prescrip', 'myope')
     set1 = ItemSet.create_itemset(a1)
     self.assertEqual(db.support_count(set1), 8)
     set2 = ItemSet.create_itemset(a1, a2)
     self.assertEqual(db.support_count(set2), 4)
     self.assertEqual(db.counter, 5)
Пример #3
0
 def test_generate_rule_confidence(self):
     db = CsvDatabase(self.path)
     a1 = AttributeValue('age', 'young')
     a2 = AttributeValue('spectacle-prescrip', 'myope')
     a3 = AttributeValue('astigmatism', 'yes')
     a4 = AttributeValue('tear-prod-rate', 'reduced')
     itemset = ItemSet.create_itemset(a1, a2, a3, a4)
     apriori = Apriori(db, 0, 0.5, 100)
     rules = apriori.generate_confident_rules(itemset)
     self.assertEqual(len(rules), 3)
Пример #4
0
 def test_join(self):
     a1 = AttributeValue('age', 'young')
     a2 = AttributeValue('age', 'pre-presbyopic')
     a3 = AttributeValue('age', 'presbyopic')
     a4 = AttributeValue('contact-lenses', 'none')
     set1 = ItemSet.create_itemset(a1, a2, a3)
     set2 = ItemSet.create_itemset(a1, a4)
     set3 = set2.join(set1)
     self.assertEqual(len(set3.items), 4)
     self.assertTrue(a1 in set3.items)
     self.assertTrue(a2 in set3.items)
     self.assertTrue(a3 in set3.items)
     self.assertTrue(a4 in set3.items)
Пример #5
0
 def get_distinct_attr_values(self):
     super().increase_counter()
     attr_values = []
     for attr in self.df.columns:
         for value in self.df[attr].unique():
             attr_values.append(AttributeValue(attr, value))
     return attr_values
Пример #6
0
 def test_diff(self):
     a1 = AttributeValue('age', 'young')
     a2 = AttributeValue('age', 'pre-presbyopic')
     a3 = AttributeValue('age', 'presbyopic')
     a4 = AttributeValue('contact-lenses', 'none')
     set1 = ItemSet.create_itemset(a1, a2, a3)
     set2 = ItemSet.create_itemset(a2, a3, a4)
     set3 = ItemSet.create_itemset(a1, a4)
     set4 = ItemSet.create_itemset()
     self.assertEqual(
         set1.diff(set2), 2,
         '{0} and {1} does not have correct diff'.format(set1, set2))
     self.assertEqual(
         set2.diff(set3), 3,
         '{0} and {1} does not have correct diff'.format(set2, set3))
     self.assertEqual(
         set3.diff(set4), 2,
         '{0} and n{1} does not have correct diff'.format(set3, set4))
     self.assertEqual(
         set4.diff(set1), 3,
         '{0} and {1} does not have correct diff'.format(set4, set1))
Пример #7
0
 def test_equality(self):
     a1 = AttributeValue('age', 'young')
     a2 = AttributeValue('age', 'pre-presbyopic')
     set1 = ItemSet.create_itemset(a1, a2)
     set2 = ItemSet.create_itemset(a2, a1)
     self.assertEqual(set1, set2)
Пример #8
0
 def _check(self, attr, value, attr_values):
     self.assertTrue(AttributeValue(attr, value) in attr_values)
Пример #9
0
 def test_equality(self):
     a1 = AttributeValue('a', 1)
     a2 = AttributeValue('a', 1)
     self.assertEqual(a1, a2)