- Hands-On Machine Learning with ML.NET
- Jarred Capellman
- 158字
- 2021-06-24 16:43:36
Breaking down classification models
As mentioned in Chapter 1, Getting Started with Machine Learning and ML.NET, classification is broken down into two main categories—two-class and multi-class. In a two-class classifier, also known as a binary classifier, the prediction simply returns 0 or 1. In a multi-class problem, a pre-selected range of return labels, such as virus types or car types, is returned.
There are several binary classification model types available in the machine learning ecosystem to choose from, as follows:
- AveragedPerceptronTrainer
- SdcaLogisticRegressionBinaryTrainer
- SdcaNonCalibratedBinaryTrainer
- SymbolicSgdLogisticRegressionBinaryTrainer
- LbfgsLogisticRegressionBinaryTrainer
- LightGbmBinaryTrainer
- FastTreeBinaryTrainer
- FastForestBinaryTrainer
- GamBinaryTrainer
- FieldAwareFactorizationMachineTrainer
- PriorTrainer
- LinearSvmTrainer
The car-value application we will be creating later in this chapter utilizes the FastTreeBinaryTrainer model.
ML.NET also provides the following multi-class classifiers:
- LightGbmMulticlassTrainer
- SdcaMaximumEntropyMulticlassTrainer
- SdcaNonCalibratedMulticlassTrainer
- LbfgsMaximumEntropyMulticlassTrainer
- NaiveBayesMulticlassTrainer
- OneVersusAllTrainer
- PairwiseCouplingTrainer
For the multi-class classifier example application, we will be using the SdcaMaximumEntropyMulticlassTrainer model. The reason for this is that Stochastic Dual Coordinate Ascents (SDCAs) can provide a good default performance without tuning.