public static Converter <Leaf, SufficientStatistics> DictionaryToLeafMap(Dictionary <string, GaussianStatistics> caseIdToNonMissingValue) { return(delegate(Leaf leaf) { string name = leaf.CaseName; if (name == null || !caseIdToNonMissingValue.ContainsKey(name)) { return GaussianStatistics.GetMissingInstance(); } else { return caseIdToNonMissingValue[name]; } }); }
//public override Converter<Leaf, SufficientStatistics> CreateTargetSufficientStatisticsMap(Dictionary<string, ISufficientStatistics> caseIdToNonMissingValue) //{ // return ISufficientStatistics.DictionaryToLeafMap(caseIdToNonMissingValue); //} public override Converter <Leaf, SufficientStatistics> CreateAlternativeSufficientStatisticsMap( Converter <Leaf, SufficientStatistics> predictorDistributionClassFunction, Converter <Leaf, SufficientStatistics> targetDistributionClassFunction) { return(delegate(Leaf leaf) { SufficientStatistics predStats = predictorDistributionClassFunction(leaf); SufficientStatistics targetStats = targetDistributionClassFunction(leaf); // bail on missing data. if (predStats.IsMissing() || targetStats.IsMissing()) { return GaussianStatistics.GetMissingInstance(); } else { return targetStats; } }); }