Exemplo n.º 1
0
        private static TreeCollector FindFrequentSubtrees(IEnumerable <ICommonTree> treeCollection, int minSupportPercentage)
        {
            Func <ICommonTree, bool> idiomFilter = (ICommonTree x) => true;

            var             treeConverter = new TreeConverter();
            List <TextTree> textTrees     = treeCollection.Select(tree => treeConverter.ConvertToCMOrderedTreeMinerTree(tree)).ToList();

            var main = new Main();

            main.Support = (int)((minSupportPercentage / 100.0) * textTrees.Count());
            main.Support = Math.Max(main.Support, IdiomProviderConfig.GetDefaultConfig().MinSupportCount);
            Debug.WriteLine($"Minimum Support is {main.Support}");
            var treeCollector = new TreeCollector();

            treeCollector.TreeFilter = idiomFilter;

            main.Run(textTrees, treeCollector);

            return(treeCollector);
        }