private double EvaluatePolicy(IList <ClustererDataLoader.ClustererDoc> docs, bool training)
        {
            isTraining = 0;
            EvalUtils.B3Evaluator evaluator = new EvalUtils.B3Evaluator();
            foreach (ClustererDataLoader.ClustererDoc doc in docs)
            {
                Clusterer.State currentState = new Clusterer.State(doc);
                while (!currentState.IsComplete())
                {
                    currentState.DoBestAction(classifier);
                }
                currentState.UpdateEvaluator(evaluator);
            }
            isTraining = 1;
            double score = evaluator.GetF1();

            Redwood.Log("scoref.train", string.Format("B3 F1 score on %s: %.4f", training ? "train" : "validate", score));
            return(score);
        }
 public CombinedEvaluator(double mucWeight)
 {
     b3Evaluator    = new EvalUtils.B3Evaluator();
     mucEvaluator   = new EvalUtils.MUCEvaluator();
     this.mucWeight = mucWeight;
 }