public FeatureCWPAnalysisDatasetReport(String __name, String __description, folderNode _folder, List <FeatureCWPAnalysisEntryReport> categoryReports)
        {
            name        = __name;
            description = __description;

            folder = _folder;

            Dictionary <string, List <FeatureCWPAnalysisSiteMetrics> > alligned = new Dictionary <string, List <FeatureCWPAnalysisSiteMetrics> >();

            List <String> keys = new List <string>();

            //categoryReports.Values.Select(x => x.terms.Values); //.GetAllignedByName(x=>x.)

            foreach (var cr in categoryReports)
            {
                foreach (FeatureCWPAnalysisSiteMetrics m in cr.Values)
                {
                    if (!alligned.ContainsKey(m.term))
                    {
                        alligned.Add(m.term, new List <FeatureCWPAnalysisSiteMetrics>());
                    }

                    alligned[m.term].Add(m);
                }
            }

            keys = alligned.Keys.ToList();
            keys.Sort();

            rangeFinderCollectionForMetrics <FeatureCWPAnalysisSiteMetrics> finder = new rangeFinderCollectionForMetrics <FeatureCWPAnalysisSiteMetrics>();

            foreach (String key in keys)
            {
                var term_finder = new rangeFinderCollectionForMetrics <FeatureCWPAnalysisSiteMetrics>();
                term_finder.name = key;
                term_finder.Learn(alligned[key]);

                term_finders.Add(term_finder);

                FeatureCWPMetrics fCWP = new FeatureCWPMetrics();
                fCWP.Deploy(term_finder);
                fCWP.term = key;

                terms.Add(fCWP);

                Add(fCWP.term, fCWP);
            }
        }
Exemplo n.º 2
0
        // public Double MacroCommonality { get; set; } = default(Double);

        public void Deploy(rangeFinderCollectionForMetrics <FeatureCWPAnalysisSiteMetrics> __finder)
        {
            finder = __finder;

            var dict = finder.GetDictionary();

            Double max_score = (Double)dict[nameof(FeatureCWPAnalysisSiteMetrics.mean_score) + "_" + nameof(rangeFinder.Maximum)];

            Double score = (Double)dict[nameof(FeatureCWPAnalysisSiteMetrics.mean_score) + "_" + nameof(rangeFinder.Sum)];

            MacroParticularity = max_score.GetRatio(score);

            MaxParticularity = (Double)dict[nameof(FeatureCWPAnalysisSiteMetrics.particularity_score) + "_" + nameof(rangeFinder.Maximum)];

            MinCommonality = (Double)dict[nameof(FeatureCWPAnalysisSiteMetrics.commonality_score) + "_" + nameof(rangeFinder.Maximum)];

            Score_MeanStdDev = (Double)dict[nameof(FeatureCWPAnalysisSiteMetrics.varianceCoeficient) + "_" + nameof(rangeFinder.Average)];

            Score_Mean = (Double)dict[nameof(FeatureCWPAnalysisSiteMetrics.mean_score) + "_" + nameof(rangeFinder.Average)];
        }