Latu.ML.Classification.NaiveBayesModel (latu_ml v0.2.0)

Copy Markdown View Source

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

class()

@spec class() :: String.t()

The JVM class these accessors belong to.

num_classes(holder)

@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.

num_features(holder)

@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.

pi(holder)

@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.

predict(holder, value)

@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

predict_probability(holder, value)

@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

predict_raw(holder, value)

@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

sigma(holder)

@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.

theta(holder)

@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.