Attributes of a fitted RandomForestRegressionModel.
Every accessor here is one name on the server's allowlist for
org.apache.spark.ml.regression.RandomForestRegressionModel — 9 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.regression.RandomForestRegressionModel,
org.apache.spark.ml.tree.TreeEnsembleModel, org.apache.spark.ml.util.Identifiable.
Summary
Functions
The JVM class these accessors belong to.
Estimate of the importance of each feature.
Number of trees in ensemble.
Returns the number of features the model was trained on. If unknown, returns -1.
Predict label for the given features.
Predict the indices of the leaves corresponding to the feature vector.
Full description of model.
Total number of nodes, summed over all trees in the ensemble.
Return the weights for each tree.
Trees in this ensemble. Warning: These have null parent Estimators.
Functions
@spec class() :: String.t()
The JVM class these accessors belong to.
@spec feature_importances(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Estimate of the importance 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 get_num_trees(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Number of trees in ensemble.
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 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_leaf(Latu.ML.Model.t(), Nx.Tensor.t() | Latu.ML.SparseVector.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Predict the indices of the leaves corresponding to the feature vector.
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 to_debug_string(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Full description of model.
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 total_num_nodes(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Total number of nodes, summed over all trees in the ensemble.
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 tree_weights(Latu.ML.Model.t()) :: {:ok, term()} | {:error, Latu.Error.t()}
Return the weights for each tree.
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 trees(Latu.ML.Model.t()) :: {:ok, [Latu.ML.Model.t()]} | {:error, Latu.Error.t()}
Trees in this ensemble. Warning: These have null parent Estimators.
An action, and it spends cache: the server registers every sub-model on its way out, so
this answers with a list of Latu.ML.Model — one DecisionTreeRegressionModel and one
cache entry per tree — and they are yours to give back. Latu.ML.delete/1 takes the whole
list in one call.