sklearn.dummy
.DummyClassifier¶
-
class
sklearn.dummy.
DummyClassifier
(strategy='warn', random_state=None, constant=None)[source]¶ DummyClassifier is a classifier that makes predictions using simple rules.
This classifier is useful as a simple baseline to compare with other (real) classifiers. Do not use it for real problems.
Read more in the User Guide.
New in version 0.13.
- Parameters
strategy : str, default=”stratified”
Strategy to use to generate predictions.
“stratified”: generates predictions by respecting the training set’s class distribution.
“most_frequent”: always predicts the most frequent label in the training set.
“prior”: always predicts the class that maximizes the class prior (like “most_frequent”) and
predict_proba
returns the class prior.“uniform”: generates predictions uniformly at random.
“constant”: always predicts a constant label that is provided by the user. This is useful for metrics that evaluate a non-majority class
Changed in version 0.22: The default value of
strategy
will change to “prior” in version 0.24. Starting from version 0.22, a warning will be raised ifstrategy
is not explicitly set.New in version 0.17: Dummy Classifier now supports prior fitting strategy using parameter prior.
random_state : int, RandomState instance or None, optional, default=None
If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by
np.random
.constant : int or str or array-like of shape (n_outputs,)
The explicit constant as predicted by the “constant” strategy. This parameter is useful only for the “constant” strategy.
Attributes
classes_
(array or list of array of shape (n_classes,)) Class labels for each output.
n_classes_
(array or list of array of shape (n_classes,)) Number of label for each output.
class_prior_
(array or list of array of shape (n_classes,)) Probability of each class for each output.
n_outputs_
(int,) Number of outputs.
sparse_output_
(bool,) True if the array returned from predict is to be in sparse CSC format. Is automatically set to True if the input y is passed in sparse format.
Examples
>>> import numpy as np >>> from sklearn.dummy import DummyClassifier >>> X = np.array([-1, 1, 1, 1]) >>> y = np.array([0, 1, 1, 1]) >>> dummy_clf = DummyClassifier(strategy="most_frequent") >>> dummy_clf.fit(X, y) DummyClassifier(strategy='most_frequent') >>> dummy_clf.predict(X) array([1, 1, 1, 1]) >>> dummy_clf.score(X, y) 0.75
Methods
fit
(X, y[, sample_weight])Fit the random classifier.
get_params
([deep])Get parameters for this estimator.
predict
(X)Perform classification on test vectors X.
Return log probability estimates for the test vectors X.
Return probability estimates for the test vectors X.
score
(X, y[, sample_weight])Returns the mean accuracy on the given test data and labels.
set_params
(**params)Set the parameters of this estimator.
-
__init__
(strategy='warn', random_state=None, constant=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
fit
(X, y, sample_weight=None)[source]¶ Fit the random classifier.
- Parameters
X : {array-like, object with finite length or shape}
Training data, requires length = n_samples
y : array-like of shape (n_samples,) or (n_samples, n_outputs)
Target values.
sample_weight : array-like of shape (n_samples,), default=None
Sample weights.
- Returns
self : object
-
get_params
(deep=True)[source]¶ Get parameters for this estimator.
- Parameters
deep : bool, default=True
If True, will return the parameters for this estimator and contained subobjects that are estimators.
- Returns
params : mapping of string to any
Parameter names mapped to their values.
-
predict
(X)[source]¶ Perform classification on test vectors X.
- Parameters
X : {array-like, object with finite length or shape}
Training data, requires length = n_samples
- Returns
y : array-like of shape (n_samples,) or (n_samples, n_outputs)
Predicted target values for X.
-
predict_log_proba
(X)[source]¶ Return log probability estimates for the test vectors X.
- Parameters
X : {array-like, object with finite length or shape}
Training data, requires length = n_samples
- Returns
P : array-like or list of array-like of shape (n_samples, n_classes)
Returns the log probability of the sample for each class in the model, where classes are ordered arithmetically for each output.
-
predict_proba
(X)[source]¶ Return probability estimates for the test vectors X.
- Parameters
X : {array-like, object with finite length or shape}
Training data, requires length = n_samples
- Returns
P : array-like or list of array-lke of shape (n_samples, n_classes)
Returns the probability of the sample for each class in the model, where classes are ordered arithmetically, for each output.
-
score
(X, y, sample_weight=None)[source]¶ Returns the mean accuracy on the given test data and labels.
In multi-label classification, this is the subset accuracy which is a harsh metric since you require for each sample that each label set be correctly predicted.
- Parameters
X : {array-like, None}
Test samples with shape = (n_samples, n_features) or None. Passing None as test samples gives the same result as passing real test samples, since DummyClassifier operates independently of the sampled observations.
y : array-like of shape (n_samples,) or (n_samples, n_outputs)
True labels for X.
sample_weight : array-like of shape (n_samples,), default=None
Sample weights.
- Returns
score : float
Mean accuracy of self.predict(X) wrt. y.
-
set_params
(**params)[source]¶ Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form
<component>__<parameter>
so that it’s possible to update each component of a nested object.- Parameters
**params : dict
Estimator parameters.
- Returns
self : object
Estimator instance.