Ejemplo n.º 1
0
        public void TestGenerateSubsets_Size4()
        {
            SetUp9();
            List <String[]> subsets = AssociatonRule.GenerateSubsets(input2);

            Assert.IsTrue(subsets.Count() == 15);

            for (int i = 0; i < solution.Count(); i++)
            {
                for (int j = 0; j < solution.ElementAt(i).Count(); j++)
                {
                    Assert.IsTrue(subsets.ElementAt(i).Contains(solution.ElementAt(i)[j]));
                }
            }
        }
Ejemplo n.º 2
0
 public IEnumerable <String> dependencesbyDepartment(String department, int itemCode, double support)
 {
     try
     {
         List <int[]>       itemsets     = TransactionsByDepartment(department).SelectMany(t => t.Items).Distinct().Select(s => new int[] { s }).ToList();
         List <List <int> > transactions = TransactionsByDepartment(department).Select(t => t.Items).ToList();
         var frequent = Apriori.GenerateAllFrecuentItemsets(itemsets, transactions, support).ToList();
         Rules = new Dictionary <int, List <int[]> >();
         AssociatonRule.GenerateAllRules <int>(frequent, Rules);
         var y = Rules[itemCode];
         return(formatItemSets(y));
     }
     catch
     {
         return(null);
     }
 }
Ejemplo n.º 3
0
        public void TestGenerateRules()
        {
            SetUp10();

            Dictionary <string, List <string[]> > rules = new Dictionary <string, List <string[]> >();

            AssociatonRule.GenerateRules(candidates, rules);

            var n = rules["Bread"];

            Assert.IsTrue(n.Count() == 3);
            List <String[]> res = new List <string[]> {
                new[] { "Milk" }, new[] { "Eggs" }, new[] { "Milk", "Eggs" }
            };

            for (int i = 0; i < res.Count(); i++)
            {
                Assert.IsTrue(n.ElementAt(i).SequenceEqual(res.ElementAt(i)));
            }

            n = rules["Milk"];
            Assert.IsTrue(n.Count() == 3);
            res = new List <string[]> {
                new[] { "Bread" }, new[] { "Eggs" }, new[] { "Bread", "Eggs" }
            };
            for (int i = 0; i < res.Count(); i++)
            {
                Assert.IsTrue(n.ElementAt(i).SequenceEqual(res.ElementAt(i)));
            }

            n = rules["Eggs"];
            Assert.IsTrue(n.Count() == 3);
            res = new List <string[]> {
                new[] { "Bread" }, new[] { "Milk" }, new[] { "Bread", "Milk" }
            };
            for (int i = 0; i < res.Count(); i++)
            {
                Assert.IsTrue(n.ElementAt(i).SequenceEqual(res.ElementAt(i)));
            }
        }
Ejemplo n.º 4
0
        //**********************************************************************************************
        //************ RULES ***************************************************************************
        //**********************************************************************************************

        public void GenerateRules(double threshold)
        {
            Rules = new Dictionary <int, List <int[]> >();
            AssociatonRule.GenerateAllRules <int>(Final_FrequentItemsets_Apriori(threshold), Rules);
        }