Attributes of a fitted NaiveBayesModel.
Every accessor here is one name on the server's allowlist for
org.apache.spark.ml.classification.NaiveBayesModel — 8 of them — so tab completion is
that allowlist. The server refuses anything else with CONNECT_ML.ATTRIBUTE_NOT_ALLOWED;
these refuse a model of the wrong class before it gets that far, and name the module that
would have taken it.
Allowed by the server but not here: toString is Identifiable's, and tells you less than
the model's own uid. Latu.ML.attribute/2 and Latu.ML.attribute/3 will send any of these
names; it is what comes back that has nowhere to go.
The allowlist is inherited rather than per class: this one is the union of
org.apache.spark.ml.PredictionModel,
org.apache.spark.ml.classification.ClassificationModel,
org.apache.spark.ml.classification.NaiveBayesModel,
org.apache.spark.ml.classification.ProbabilisticClassificationModel,
org.apache.spark.ml.util.Identifiable.
Summary
Functions
The JVM class these accessors belong to.
Number of classes (values which the label can take).
Returns the number of features the model was trained on. If unknown, returns -1.
log of class priors.
Predict label for the given features.
Predict the probability of each class given the features.
Raw prediction for each possible label.
variance of each feature.
log of class conditional probabilities.
Functions
@spec class() :: String.t()
The JVM class these accessors belong to.
@spec num_classes(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Number of classes (values which the label can take).
An action: it reaches the server. A Vector or Matrix comes back as an Nx.Tensor, or a
Latu.ML.SparseVector where densifying would be this package's decision rather than yours.
@spec num_features(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Returns the number of features the model was trained on. If unknown, returns -1.
An action: it reaches the server. A Vector or Matrix comes back as an Nx.Tensor, or a
Latu.ML.SparseVector where densifying would be this package's decision rather than yours.
@spec pi(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
log of class priors.
An action: it reaches the server. A Vector or Matrix comes back as an Nx.Tensor, or a
Latu.ML.SparseVector where densifying would be this package's decision rather than yours.
@spec predict(Latu.ML.Model.t(), Nx.Tensor.t() | Latu.ML.SparseVector.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Predict label for the given features.
An action: it reaches the server. A Vector or Matrix comes back as an Nx.Tensor, or a
Latu.ML.SparseVector where densifying would be this package's decision rather than yours.
Arguments
value— a SparkVector: anNx.Tensoror aLatu.ML.SparseVector
@spec predict_probability(Latu.ML.Model.t(), Nx.Tensor.t() | Latu.ML.SparseVector.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Predict the probability of each class given the features.
An action: it reaches the server. A Vector or Matrix comes back as an Nx.Tensor, or a
Latu.ML.SparseVector where densifying would be this package's decision rather than yours.
Arguments
value— a SparkVector: anNx.Tensoror aLatu.ML.SparseVector
@spec predict_raw(Latu.ML.Model.t(), Nx.Tensor.t() | Latu.ML.SparseVector.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Raw prediction for each possible label.
An action: it reaches the server. A Vector or Matrix comes back as an Nx.Tensor, or a
Latu.ML.SparseVector where densifying would be this package's decision rather than yours.
Arguments
value— a SparkVector: anNx.Tensoror aLatu.ML.SparseVector
@spec sigma(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
variance of each feature.
An action: it reaches the server. A Vector or Matrix comes back as an Nx.Tensor, or a
Latu.ML.SparseVector where densifying would be this package's decision rather than yours.
@spec theta(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
log of class conditional probabilities.
An action: it reaches the server. A Vector or Matrix comes back as an Nx.Tensor, or a
Latu.ML.SparseVector where densifying would be this package's decision rather than yours.