GaussianNB
Gaussian Naïve Bayes classifier based on Bayes' theorem.
GaussianNB models the likelihood of features as Gaussian distributions per class. It estimates the mean and variance of each feature in each class from the training data, then uses Bayes' theorem to compute the posterior class probability. Despite the strong independence assumption, it often performs well and is very fast.
Key hyperparameter: var_smoothing (additive variance for numerical
stability). The implementation wraps scikit-learn's GaussianNB.
References
Parameters
- var_smoothing : number, default=
1e-09 - Portion of the largest variance of all features that is added to variances for calculation stability.
Methods
calculate_metrics(self, split: DashAI.back.core.enums.metrics.SplitEnum = <SplitEnum.VALIDATION: 'validation'>, level: DashAI.back.core.enums.metrics.LevelEnum = <LevelEnum.LAST: 'last'>, log_index: int = None, x_data: 'DashAIDataset' = None, y_data: 'DashAIDataset' = None, fold_index: int = None, inner_fold_index: int = None)
BaseModelCalculate metrics for a data split and save them to the database.
Parameters
- split : SplitEnum
- The data split to evaluate (TRAIN, VALIDATION, or TEST). Defaults to SplitEnum.VALIDATION.
- level : LevelEnum
- The metric granularity level (LAST, TRIAL, STEP, or BATCH). Defaults to LevelEnum.LAST.
- log_index : int, optional
- Explicit step index for the metric entry. If None, the next step index is computed automatically. Defaults to None.
- x_data : DashAIDataset, optional
- Input features. If None, the dataset stored in the model for the given split is used. Defaults to None.
- y_data : DashAIDataset, optional
- Target labels. If None, the labels stored in the model for the given split are used. Defaults to None.
Returns
- Dict[str, float] or None
- What was written, so a caller that also wants the numbers does not have to score the same split twice.
Nonewhen nothing was written: no run to write against, or nothing to score.
compute_metrics(self, split: DashAI.back.core.enums.metrics.SplitEnum = <SplitEnum.VALIDATION: 'validation'>, x_data: 'DashAIDataset' = None, y_data: 'DashAIDataset' = None) -> Optional[Dict[str, float]]
BaseModelScore a data split with this model's metrics, without persisting.
Parameters
- split : SplitEnum
- The data split to evaluate. Defaults to
SplitEnum.VALIDATION. - x_data : DashAIDataset, optional
- Input features. Defaults to the split stored on the model.
- y_data : DashAIDataset, optional
- Target labels. Defaults to the split stored on the model.
Returns
- Dict[str, float] or None
- Metric name to score. A metric that scored a non-finite value is absent from the mapping rather than present with a NaN, so the mapping is empty when every metric returned one.
Nonewhen there is nothing to score at all: no metrics configured, or no data for this split. Callers that need a particular metric must therefore check that it is there.
get_credential(self, name: str)
ConfigObjectResolve a registered credential component by name.
Parameters
- name : str
- Credential component class name (e.g. "HuggingFaceCredential").
Returns
- BaseCredential
- An instance of the requested credential component.
get_metadata(cls) -> Dict[str, Any]
BaseModelGet metadata values for the current model.
Returns
- Dict[str, Any]
- Dictionary containing UI metadata such as the model icon used in the DashAI frontend.
get_schema(cls) -> dict
ConfigObjectGenerates the component related Json Schema.
Returns
- dict
- Dictionary representing the Json Schema of the component.
load(filename: str) -> None
SklearnLikeModelDeserialise a model from disk using joblib.
Parameters
- filename : str
- Path to the file previously written by :meth:
save.
Returns
- SklearnLikeModel
- The loaded model instance.
predict(self, x_pred: 'DashAIDataset') -> 'ndarray'
SklearnLikeClassifierMake a prediction with the model
Parameters
- x_pred : DashAIDataset
- Dataset with the input data columns.
Returns
- np.ndarray
- Array with the predicted target values for x_pred
predict_prepared(self, features) -> 'ndarray'
SklearnLikeClassifierPredict from a feature matrix already in the model's feature space.
Parameters
- features : pandas.DataFrame or numpy.ndarray
- Feature matrix as produced by
prepare_dataset.
Returns
- np.ndarray
- Class probability matrix.
predict_proba_prepared(self, features) -> 'ndarray'
SklearnLikeClassifierReturn class probabilities for an already prepared feature matrix.
Parameters
- features : pandas.DataFrame or numpy.ndarray
- Feature matrix as produced by
prepare_dataset.
Returns
- np.ndarray
- Class probability matrix.
prepare_dataset(self, dataset: 'DashAIDataset', is_fit: bool = False) -> 'DashAIDataset'
CategoricalEncoderMixinEncode categorical feature columns into a numeric representation.
Parameters
- dataset : DashAIDataset
- The input dataset to preprocess.
- is_fit : bool
- If True, fit the encoders on the data. If False, apply previously fitted encoders. Defaults to False.
Returns
- DashAIDataset
- The dataset with categorical columns converted to numeric columns.
prepare_output(self, dataset: 'DashAIDataset', is_fit: bool = False) -> 'DashAIDataset'
CategoricalEncoderMixinPrepare output targets using label encoding.
Parameters
- dataset : DashAIDataset
- The output dataset to be transformed.
- is_fit : bool, optional
- If True, fit the encoder. If False, use existing encodings.
Returns
- DashAIDataset
- Dataset with categorical columns converted to integers.
save(self, filename: str) -> None
SklearnLikeModelSerialise the model to disk using joblib.
Parameters
- filename : str
- Destination file path where the model will be written.
train(self, x_train, y_train, x_validation=None, y_validation=None)
SklearnLikeModelTrain the sklearn model on the provided dataset.
Parameters
- x_train : DashAIDataset
- The input features for training.
- y_train : DashAIDataset
- The target labels for training.
- x_validation : DashAIDataset, optional
- Validation input features (unused in sklearn models). Defaults to None.
- y_validation : DashAIDataset, optional
- Validation target labels (unused in sklearn models). Defaults to None.
Returns
- BaseModel
- The fitted scikit-learn estimator (self).
validate_and_transform(self, raw_data: dict) -> dict
ConfigObjectIt takes the data given by the user to initialize the model and returns it with all the objects that the model needs to work.
Parameters
- raw_data : dict
- A dictionary with the data provided by the user to initialize the model.
Returns
- dict
- A validated dictionary with the necessary objects.