internal static List<AbsoluteEffectivenessEstimate> GetSortedMeanAbsolutes( Dictionary<string, Dictionary<string, AbsoluteEffectivenessEstimate>> sqAbss, IConfidenceEstimator confEstimator) { // Compute means List<AbsoluteEffectivenessEstimate> absSorted = new List<AbsoluteEffectivenessEstimate>(); foreach (var sqAbsEst in sqAbss) { double e = sqAbsEst.Value.Sum(qAbsEst => qAbsEst.Value.Expectation); double var = sqAbsEst.Value.Sum(qAbsEst => qAbsEst.Value.Variance); e /= sqAbsEst.Value.Count; var /= sqAbsEst.Value.Count * sqAbsEst.Value.Count; Estimate est = new Estimate(e, var); absSorted.Add(new AbsoluteEffectivenessEstimate(sqAbsEst.Key, "[all]", e, var, confEstimator.EstimateInterval(est), confEstimator.EstimateAbsoluteConfidence(est))); } // and sort absSorted = absSorted.OrderByDescending(est => est.Expectation).ToList(); return absSorted; }
public AbsoluteEffectivenessEstimate Estimate(Run run, IRelevanceEstimator relEstimator, IConfidenceEstimator confEstimator) { double e = 0, var = 0; // Traverse docs retrieved foreach (string doc in run.Documents) { RelevanceEstimate docEst = relEstimator.Estimate(run.Query, doc); e += docEst.Expectation; var += docEst.Variance; } // Compute average e /= run.Documents.Count(); var /= run.Documents.Count() * run.Documents.Count(); // Normalize between 0 and 1 e /= this.MaxRelevance; var /= this.MaxRelevance * this.MaxRelevance; Estimate est = new Estimate(e, var); return new AbsoluteEffectivenessEstimate(run.System, run.Query, e, var, confEstimator.EstimateInterval(est), confEstimator.EstimateAbsoluteConfidence(est)); }
internal static List <AbsoluteEffectivenessEstimate> GetSortedMeanAbsolutes( Dictionary <string, Dictionary <string, AbsoluteEffectivenessEstimate> > sqAbss, IConfidenceEstimator confEstimator) { // Compute means List <AbsoluteEffectivenessEstimate> absSorted = new List <AbsoluteEffectivenessEstimate>(); foreach (var sqAbsEst in sqAbss) { double e = sqAbsEst.Value.Sum(qAbsEst => qAbsEst.Value.Expectation); double var = sqAbsEst.Value.Sum(qAbsEst => qAbsEst.Value.Variance); e /= sqAbsEst.Value.Count; var /= sqAbsEst.Value.Count * sqAbsEst.Value.Count; Estimate est = new Estimate(e, var); absSorted.Add(new AbsoluteEffectivenessEstimate(sqAbsEst.Key, "[all]", e, var, confEstimator.EstimateInterval(est), confEstimator.EstimateAbsoluteConfidence(est))); } // and sort absSorted = absSorted.OrderByDescending(est => est.Expectation).ToList(); return(absSorted); }
public AbsoluteEffectivenessEstimate Estimate(Run run, IRelevanceEstimator relEstimator, IConfidenceEstimator confEstimator) { double e = 0, var = 0; // Traverse docs retrieved foreach (string doc in run.Documents) { RelevanceEstimate docEst = relEstimator.Estimate(run.Query, doc); e += docEst.Expectation; var += docEst.Variance; } // Compute average e /= run.Documents.Count(); var /= run.Documents.Count() * run.Documents.Count(); // Normalize between 0 and 1 e /= this.MaxRelevance; var /= this.MaxRelevance * this.MaxRelevance; Estimate est = new Estimate(e, var); return(new AbsoluteEffectivenessEstimate(run.System, run.Query, e, var, confEstimator.EstimateInterval(est), confEstimator.EstimateAbsoluteConfidence(est))); }