GaussianNB#
- class cuml.naive_bayes.GaussianNB(
- *,
- priors=None,
- var_smoothing=1e-09,
- output_type=None,
- verbose=False,
Gaussian Naive Bayes (GaussianNB)
Can perform online updates to model parameters via
partial_fit(). For details on algorithm used to update feature means and variance online, see Stanford CS tech report STAN-CS-79-773 by Chan, Golub, and LeVeque:- Parameters:
- priorsarray-like of shape (n_classes,)
Prior probabilities of the classes. If specified the priors are not adjusted according to the data.
- var_smoothingfloat, default=1e-9
Portion of the largest variance of all features that is added to variances for calculation stability.
- output_type{None, ‘input’, ‘cupy’, ‘numpy’, ‘cudf’, ‘pandas’}, default=None
Return results and set estimator attributes to the indicated output type. If None, the output type set at the module level (
cuml.global_settings.output_type) will be used. See Output Data Type Configuration for more info.- verboseint or boolean, default=False
Sets logging level. It must be one of
cuml.common.logger.level_*. See Verbosity Levels for more info.
- Attributes:
- class_prior_
Methods
fit(X, y[, sample_weight])Fit Gaussian Naive Bayes classifier according to X, y
partial_fit(X, y[, classes, sample_weight])Incremental fit on a batch of samples.
Examples
>>> import cupy as cp >>> from cuml.naive_bayes import GaussianNB >>> X = cp.array( ... [[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]], ... dtype=cp.float32 ... ) >>> y = cp.array([1, 1, 1, 2, 2, 2]) >>> clf = GaussianNB().fit(X, y) >>> print(clf.predict(cp.array([[-0.8, -1]], cp.float32))) [1]
- fit(
- X,
- y,
- sample_weight=None,
Fit Gaussian Naive Bayes classifier according to X, y
- Parameters:
- X{array-like, cupy sparse matrix} of shape (n_samples, n_features)
Training vectors, where n_samples is the number of samples and n_features is the number of features.
- yarray-like shape (n_samples)
Target values.
- sample_weightarray-like of shape (n_samples)
Weights applied to individual samples.
- get_params(deep=True)[source]#
Returns a dict of all params owned by this class. If the child class has appropriately overridden the
_get_param_namesmethod and does not need anything other than what is there in this method, then it doesn’t have to override this method
- partial_fit(
- X,
- y,
- classes=None,
- sample_weight=None,
Incremental fit on a batch of samples.
This method is expected to be called several times consecutively on different chunks of a dataset so as to implement out-of-core or online learning.
This is especially useful when the whole dataset is too big to fit in memory at once.
This method has some performance overhead hence it is better to call partial_fit on chunks of data that are as large as possible (as long as fitting in the memory budget) to hide the overhead.
- Parameters:
- X{array-like, cupy sparse matrix} of shape (n_samples, n_features)
Training vectors, where n_samples is the number of samples and n_features is the number of features. A sparse matrix in COO format is preferred, other formats will go through a conversion to COO.
- yarray-like of shape (n_samples)
Target values.
- classesarray-like of shape (n_classes)
List of all the classes that can possibly appear in the y vector. Must be provided at the first call to partial_fit, can be omitted in subsequent calls.
- sample_weightarray-like of shape (n_samples)
Weights applied to individual samples.
- Returns:
- selfobject
- predict(X)[source]#
Perform classification on an array of test vectors X.
- Parameters:
- Xarray-like (device or host) shape = (n_samples, n_features)
Dense or sparse matrix with dtype float32 or float64. Acceptable dense formats: CUDA array interface compliant objects like CuPy, cuDF DataFrame/Series, NumPy ndarray and Pandas DataFrame/Series.
- Returns:
- y_hatcuDF, CuPy or NumPy object depending on cuML’s output type configuration, shape = (n_rows, 1)
Predicted values
For more information on how to configure cuML’s output type, refer to: Output Data Type Configuration.
- predict_log_proba(X)[source]#
Return log-probability estimates for the test vector X.
- Parameters:
- Xarray-like (device or host) shape = (n_samples, n_features)
Dense or sparse matrix with dtype float32 or float64. Acceptable dense formats: CUDA array interface compliant objects like CuPy, cuDF DataFrame/Series, NumPy ndarray and Pandas DataFrame/Series.
- Returns:
- CcuDF, CuPy or NumPy object depending on cuML’s output type configuration, shape = (n_rows, 1)
Returns the log-probability of the samples for each class in the model. The columns correspond to the classes in sorted order, as they appear in the attribute
classes_.For more information on how to configure cuML’s output type, refer to: Output Data Type Configuration.
- predict_proba(X)[source]#
Return probability estimates for the test vector X.
- Parameters:
- Xarray-like (device or host) shape = (n_samples, n_features)
Dense or sparse matrix with dtype float32 or float64. Acceptable dense formats: CUDA array interface compliant objects like CuPy, cuDF DataFrame/Series, NumPy ndarray and Pandas DataFrame/Series.
- Returns:
- CcuDF, CuPy or NumPy object depending on cuML’s output type configuration, shape = (n_rows, 1)
Returns the probability of the samples for each class in the model. The columns correspond to the classes in sorted order, as they appear in the attribute
classes_.For more information on how to configure cuML’s output type, refer to: Output Data Type Configuration.
- score(X, y, sample_weight=None, **kwargs)[source]#
Scoring function for classifier estimators based on mean accuracy.
- Parameters:
- Xarray-like (device or host) shape = (n_samples, n_features)
Dense matrix with dtype float32 or float64. Acceptable formats: CUDA array interface compliant objects like CuPy, cuDF DataFrame/Series, NumPy ndarray and Pandas DataFrame/Series.
- yarray-like (device or host) shape = (n_samples, 1)
Dense matrix with dtype float32 or float64. Acceptable formats: CUDA array interface compliant objects like CuPy, cuDF DataFrame/Series, NumPy ndarray and Pandas DataFrame/Series.
- sample_weightarray-like (device or host) shape = (n_samples,), default=None
The weights for each observation in X. If None, all observations are assigned equal weight. Acceptable formats: CUDA array interface compliant objects like CuPy, cuDF DataFrame/Series, NumPy ndarray and Pandas DataFrame/Series.
- Returns:
- scorefloat
Accuracy of self.predict(X) wrt. y (fraction where y == pred_y)
- set_params(**params)[source]#
Accepts a dict of params and updates the corresponding ones owned by this class. If the child class has appropriately overridden the
_get_param_namesmethod and does not need anything other than what is, there in this method, then it doesn’t have to override this method