Apply the model to the given dataset.
The model prediction results will be correct only if the
data parameter with feature values contains all the features used in the model. Typically, the order of these features must match the order of the corresponding columns that is provided during the training. But if feature names are provided both during the training and when applying the model, they can be matched by names instead of columns order. Feature names can be specified if the
data parameter has one of the following types:
Method call format
predict(data, prediction_type='VirtEnsembles', ntree_end=0, virtual_ensembles_count=10, thread_count=-1 (the number of threads is equal to the number of processor cores), verbose=None)
Feature values data.
The format depends on the number of input objects:
- Multiple — Matrix-like data of shape
- Single — An array
For multiple objects:
- list of lists
- numpy.ndarray of shape
scipy.sparse.spmatrix (all subclasses except dia_matrix)
For a single object:
- list of feature values
- one-dimensional numpy.ndarray with feature values
Required prediction type. Supported prediction types: VirtEnsembles, TotalUncertainty
To reduce the number of trees to use when the model is applied or the metrics are calculated, set the range of the tree indices to
[ntree_start; ntree_end) and the step of the trees to use to eval_period.
This parameter defines the index of the first tree not to be used when applying the model or calculating the metrics (the exclusive right border of the range). Indices are zero-based.
0 (the index of the last tree to use equals to the number of trees in the model minus one)
The number of threads to use during the training.
Optimizes the speed of execution. This parameter doesn't affect results.
-1 (the number of threads is equal to the number of processor cores)
Output the measured evaluation metric to stderr.
Each virtual ensemble can be consider as truncated model. Returns virtual_ensembles_count predictions from each virtual ensemble. The return value type depends on the number of input objects and model type:
- Single object — Return numpy.ndarray one-dimensional or two-dimensional numpy.ndarray of shape (virtual_ensembles_count) or (virtual_ensembles_count, single document predict size) of virtual_ensemble.predict(document, prediction_type='RawFormulaVal') results. For model learned with RMSEWithUncertainty for virtual ensembles predictions used prediction_type='RMSEWithUncertainty' instead of prediction_type='RawFormulaVal'.
- Multiple objects — two-dimensional or three-dimensional numpy.ndarray of shape (number_of_objects, virtual_ensembles_count) or (number_of_objects, virtual_ensembles_count, single document predict size) similarly to Single object predict type.
- Regression (not RMSEWithUncertainty): one-dimensional numpy.ndarray [Mean Predictions, Knowledge Uncertainty]
- RMSEWithUncertainty: one-dimensional numpy.ndarray [Mean Predictions, Knowledge Uncertainty, Data Uncertainty]
- Classification: one-dimensional numpy.ndarray [Data Uncertainty, Total Uncertainty]
Return two-dimensional numpy.ndarray of shape (number_of_objects, 2) or (number_of_objects, 3) similarly to single object return type.prediction_type VirtEnsembles:
Additional information is available in the article.