double PerceptronModel::ScoreCandidate(Candidate &candidate, bool training) { bool use_raw = training; const FeatureVector<int,double> &model = models_.GetModel(use_raw); double score = kernel_fn_->Apply(model, candidate.features()); if (DEBUG >= 2) { cerr << "Time:" << time_.to_string() << ": scoring candidate " << candidate << " with " << (use_raw ? "raw" : "avg") << " model: " << model << endl << "\tscore: " << score << endl; } candidate.set_score(score); return score; }