public OvaPipelineItem(ITrainerInputWithLabel trainer, bool useProbabilities) { _trainer = trainer; _useProbabilities = useProbabilities; }
/// <summary> /// One-versus-all, OvA, learner (also known as One-vs.-rest, "OvR") is a multi-class learner /// with the strategy to fit one binary classifier per class in the dataset. /// It trains the provided binary classifier for each class against the other classes, where the current /// class is treated as the positive labels and examples in other classes are treated as the negative classes. /// See <a href="https://en.wikipedia.org/wiki/Multiclass_classification#One-vs.-rest">wikipedia</a> page. /// </summary> ///<example> /// In order to use it all you need to do is add it to pipeline as regular learner: /// /// pipeline.Add(OneVersusAll.With(new StochasticDualCoordinateAscentBinaryClassifier())); /// </example> /// <remarks> /// The base trainer must be a binary classifier. To check the available binary classifiers, type BinaryClassifiers, /// and look at the available binary learners as suggested by IntelliSense. /// </remarks> /// <param name="trainer">Underlying binary trainer</param> /// <param name="useProbabilities">"Use probabilities (vs. raw outputs) to identify top-score category. /// By specifying it to false, you can tell One-versus-all to not use the probabilities but instead /// the raw uncalibrated scores from each predictor. This is generally not recommended, since these quantities /// are not meant to be comparable from one predictor to another, unlike calibrated probabilities.</param> public static ILearningPipelineItem With(ITrainerInputWithLabel trainer, bool useProbabilities = true) { return(new OvaPipelineItem(trainer, useProbabilities)); }