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); } }
// 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)]; }