Latu.ML.Feature.PCAModel (latu_ml v0.2.0)

Copy Markdown View Source

Attributes of a fitted PCAModel.

Every accessor here is one name on the server's allowlist for org.apache.spark.ml.feature.PCAModel — 2 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.feature.PCAModel, org.apache.spark.ml.util.Identifiable.

Summary

Functions

The JVM class these accessors belong to.

Returns a vector of proportions of variance explained by each principal component.

Returns a principal components Matrix. Each column is one principal component.

Functions

class()

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

The JVM class these accessors belong to.

explained_variance(holder)

@spec explained_variance(Latu.ML.Model.t()) ::
  {:ok, term()} | {:error, Latu.Error.t()}

Returns a vector of proportions of variance explained by each principal component.

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.

pc(holder)

@spec pc(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}

Returns a principal components Matrix. Each column is one principal component.

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.