<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vertica 26.3.x – Machine learning with the MCP server</title>
    <link>/en/admin/mcp-server/machine-learning/</link>
    <description>Recent content in Machine learning with the MCP server on Vertica 26.3.x</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/en/admin/mcp-server/machine-learning/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Admin: ML tools reference</title>
      <link>/en/admin/mcp-server/machine-learning/ml-tools-reference/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/mcp-server/machine-learning/ml-tools-reference/</guid>
      <description>
        
        
        &lt;p&gt;The machine learning (ML) tools work with data stored in the Vertica database and cover the full workflow from preparing data, exploring it, training models, generating predictions, and evaluating results to managing model versions through a governed registry.&lt;/p&gt;
&lt;p&gt;Every tool operates on tables identified as &lt;code&gt;table&lt;/code&gt; or &lt;code&gt;schema.table&lt;/code&gt;. If no schema is specified, the default &lt;code&gt;public&lt;/code&gt; schema is used. Most tools also accept optional &lt;code&gt;sandbox&lt;/code&gt; and &lt;code&gt;subcluster&lt;/code&gt; parameters to route the request to a specific node group.&lt;/p&gt;
&lt;h2 id=&#34;execution-modes&#34;&gt;Execution modes&lt;/h2&gt;
&lt;p&gt;Each tool runs in one of two modes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Synchronous&lt;/strong&gt;: The result is returned immediately in the tool response.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Asynchronous&lt;/strong&gt;: A &lt;code&gt;job_id&lt;/code&gt; is returned immediately. Use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to poll for completion, and then &lt;code&gt;get_job_results(job_id)&lt;/code&gt; to retrieve the output.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;tool-categories&#34;&gt;Tool categories&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data preparation&lt;/strong&gt;: Tools for splitting, cleaning, encoding, normalizing, and transforming data before model training.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exploratory data analysis&lt;/strong&gt;: Tools for understanding data characteristics, relationships, and quality issues prior to modeling.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model training&lt;/strong&gt;: Tools for training supervised, unsupervised, and time-series models directly inside the database.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prediction&lt;/strong&gt;: Tools for scoring new data using a trained or registered model.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model evaluation&lt;/strong&gt;: Tools for measuring model quality and understanding what drives predictions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model registry and governance&lt;/strong&gt;: Tools for registering trained models under a versioned family name and managing their lifecycle status.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;data-preparation&#34;&gt;Data preparation&lt;/h2&gt;
&lt;p&gt;Tools for splitting, cleaning, encoding, normalizing, and transforming data before model training.&lt;/p&gt;
&lt;h3 id=&#34;ml_train_test_split&#34;&gt;ml_train_test_split&lt;/h3&gt;
&lt;p&gt;Splits a source table into training and testing tables using a seeded random partition. Both splits run concurrently as independent background jobs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; values immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table name (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;test_ratio&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Fraction of rows allocated to the test set, 0.0–1.0 (default: &lt;code&gt;0.3&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;seed&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Random seed for a reproducible split (default: &lt;code&gt;42&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_prefix&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Prefix for the output tables (&lt;code&gt;{prefix}_train&lt;/code&gt; and &lt;code&gt;{prefix}_test&lt;/code&gt;). Auto-generated if omitted.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;train_job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier for the training table creation; use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to monitor.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;test_job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier for the testing table creation; use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to monitor.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;train_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the training table (available once &lt;code&gt;train_job_id&lt;/code&gt; completes).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;test_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the testing table (available once &lt;code&gt;test_job_id&lt;/code&gt; completes).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_impute&#34;&gt;ml_impute&lt;/h3&gt;
&lt;p&gt;Imputes (fills) missing &lt;code&gt;NULL&lt;/code&gt; values in a table using mean, mode, forward-fill, backward-fill, or an automatic method.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table name (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;method&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Imputation method: &lt;code&gt;mean&lt;/code&gt;, &lt;code&gt;mode&lt;/code&gt;, &lt;code&gt;ffill&lt;/code&gt;, &lt;code&gt;bfill&lt;/code&gt;, or &lt;code&gt;auto&lt;/code&gt; (default: &lt;code&gt;auto&lt;/code&gt;). The &lt;code&gt;auto&lt;/code&gt; method selects &lt;code&gt;mean&lt;/code&gt; for numeric columns and &lt;code&gt;mode&lt;/code&gt; for categorical columns.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Columns to impute. Required for &lt;code&gt;ffill&lt;/code&gt;/&lt;code&gt;bfill&lt;/code&gt;. Omit for &lt;code&gt;mean&lt;/code&gt;/&lt;code&gt;mode&lt;/code&gt; to impute all suitable columns.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;partition_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional columns to group or partition imputation by.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;order_by&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Column to order by; required for &lt;code&gt;ffill&lt;/code&gt; and &lt;code&gt;bfill&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_view&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Name for the output view. Auto-generated if omitted.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to monitor progress.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_view&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the view that will contain imputed data once the job completes.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary including the &lt;code&gt;job_id&lt;/code&gt; and &lt;code&gt;output_view&lt;/code&gt; name.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_encode_columns&#34;&gt;ml_encode_columns&lt;/h3&gt;
&lt;p&gt;Encodes categorical columns into numeric representations using one-hot or label encoding, persisting the encoder artifacts for reuse on new data.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table name (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Column names to encode.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;encoding_type&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Encoding method: &lt;code&gt;one_hot&lt;/code&gt; or &lt;code&gt;label&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Output table name. A persistent staging table is auto-created if omitted.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;overwrite&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
boolean&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
If &lt;code&gt;true&lt;/code&gt;, overwrite an existing encoder model for a permanent &lt;code&gt;output_table&lt;/code&gt; (default: &lt;code&gt;false&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the created table.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns_encoded&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
List of columns that were encoded.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;row_count&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Number of rows in the output table.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;encoder_model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
One-hot only: the model holding the category vocabulary, for reapplication to new data with &lt;code&gt;ml_apply_encoding&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;label_mapping_tables&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Label only: object mapping &lt;code&gt;{column: mapping_table}&lt;/code&gt;, for reapplication to new data with &lt;code&gt;ml_apply_encoding&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_apply_encoding&#34;&gt;ml_apply_encoding&lt;/h3&gt;
&lt;p&gt;Applies a previously fit encoder or label mapping to a new source table (for example, test or inference data), producing the same schema as the training-side encoding.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table to encode (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Columns to encode; should match the columns fit on the training side.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;encoding_type&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Encoding method: &lt;code&gt;one_hot&lt;/code&gt; or &lt;code&gt;label&lt;/code&gt; (must match the method used at fit time).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;encoder_model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Required for &lt;code&gt;one_hot&lt;/code&gt;. Fully qualified encoder model name returned by &lt;code&gt;ml_encode_columns&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;label_mapping_tables&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
object&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Required for &lt;code&gt;label&lt;/code&gt;. Object mapping &lt;code&gt;{column: mapping_table}&lt;/code&gt; returned by &lt;code&gt;ml_encode_columns&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Output table name. A persistent staging table is auto-created if omitted.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;overwrite&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
boolean&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
If &lt;code&gt;true&lt;/code&gt; and &lt;code&gt;output_table&lt;/code&gt; already exists, drop it before writing (default: &lt;code&gt;false&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to monitor progress.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the encoded table (available once the job completes).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns_encoded&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
List of columns that were encoded.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary including the &lt;code&gt;job_id&lt;/code&gt; and &lt;code&gt;output_table&lt;/code&gt; name.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_normalize_fit&#34;&gt;ml_normalize_fit&lt;/h3&gt;
&lt;p&gt;Computes and persists normalization parameters (min-max, z-score, or robust scaling) as a reusable model, optionally materializing a normalized view.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table name (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Numeric column names to normalize.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;normalization_method&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Normalization technique: &lt;code&gt;minmax&lt;/code&gt;, &lt;code&gt;zscore&lt;/code&gt;, or &lt;code&gt;robust_zscore&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Name for the normalization model to persist.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_view&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional name for a view with the normalized data. No view is created if omitted.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to monitor progress.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Name under which the normalization model will be saved.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_view&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the view that will be created, if &lt;code&gt;output_view&lt;/code&gt; was provided.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary including the &lt;code&gt;job_id&lt;/code&gt; and &lt;code&gt;model_name&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_apply_normalize&#34;&gt;ml_apply_normalize&lt;/h3&gt;
&lt;p&gt;Applies a previously persisted normalization model to a source table, using the same scaling that was computed at fit time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table to normalize (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Name of the persisted normalization model.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Name for the output table with normalized data.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Columns to validate against the source table before submitting the job. The normalization scope is always determined by the fitted model.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to monitor progress.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the table that will be created when the job completes.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary including the &lt;code&gt;job_id&lt;/code&gt; and &lt;code&gt;output_table&lt;/code&gt; name.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_normalize&#34;&gt;ml_normalize&lt;/h3&gt;
&lt;p&gt;Normalizes numeric columns using min-max, z-score, or robust scaling and exposes the result as a view, without persisting a reusable model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table name (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Numeric column names to normalize.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;normalization_method&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Normalization technique: &lt;code&gt;minmax&lt;/code&gt;, &lt;code&gt;zscore&lt;/code&gt;, or &lt;code&gt;robust_zscore&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_view&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Name of the view showing the input relation with normalized data.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to monitor progress.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_view&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the view that will be created when the job completes.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary including the &lt;code&gt;job_id&lt;/code&gt; and &lt;code&gt;output_view&lt;/code&gt; name.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_svd&#34;&gt;ml_svd&lt;/h3&gt;
&lt;p&gt;Performs Singular Value Decomposition (SVD) on a numeric data matrix and persists the result as a reusable model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table name (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Name for the SVD model to fit and save.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Numeric column names to include. If omitted, all columns in the source table are used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;exclude_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Column names to exclude from processing.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;num_components&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Number of singular values/vectors to compute. If omitted, all components are kept.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Name of the persisted SVD model.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary of the SVD performed and model persistence.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_apply_svd&#34;&gt;ml_apply_svd&lt;/h3&gt;
&lt;p&gt;Applies a previously computed SVD model to a new data matrix, using the same feature extraction that was computed at fit time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table to transform (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Name of the persisted SVD model.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Name for the output table with transformed data.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Columns containing the data matrix. If omitted, all columns are used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;exclude_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Column names to exclude from processing.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;key_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Columns identifying source rows (for example, IDs) to carry through into the output table.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;num_components&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Desired output dimensionality. If omitted, matches the number of components retained at fit time.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the transformed table.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary of the transformation performed and the output table created.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_pca&#34;&gt;ml_pca&lt;/h3&gt;
&lt;p&gt;Fits a PCA (Principal Component Analysis) model on a table and saves it in the Vertica model catalog for subsequent use with &lt;code&gt;ml_apply_pca&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table or view (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;). All columns must be numeric.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Numeric column names to include in the PCA fit.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Name for the PCA model to create (&lt;code&gt;schema.name&lt;/code&gt; or just &lt;code&gt;name&lt;/code&gt;). Must not already exist.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;num_components&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Number of principal components to retain. If omitted, all components are kept.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;scale&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
boolean&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
If &lt;code&gt;true&lt;/code&gt;, standardize columns using a correlation matrix instead of covariance. Recommended when columns have very different scales.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;method&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Computation method. The only supported value is &lt;code&gt;LAPACK&lt;/code&gt;. Omit to use the default.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the created PCA model, for use with &lt;code&gt;ml_apply_pca&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary including accepted and rejected row counts.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_apply_pca&#34;&gt;ml_apply_pca&lt;/h3&gt;
&lt;p&gt;Transforms data using a fitted PCA model and writes the principal component coordinates to an output table.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table to transform (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Name of the fitted PCA model (returned by &lt;code&gt;ml_pca&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Numeric column names to transform with the PCA model.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Name for the output table with transformed (PCA) data.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;num_components&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Number of principal components to retain in the output. Defaults to the number fit in the model.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;cutoff&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
The minimum cumulative explained variance to retain. Determines the number of components to keep.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;match_by_pos&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
boolean&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
If &lt;code&gt;true&lt;/code&gt;, match input columns to model columns by position instead of by name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;key_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Columns identifying source rows to carry through into the output table.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the transformed table.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary of the transformation performed and the output table created.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h2 id=&#34;exploratory-data-analysis&#34;&gt;Exploratory data analysis&lt;/h2&gt;
&lt;p&gt;Tools for understanding data characteristics, relationships, and quality issues prior to modeling.&lt;/p&gt;
&lt;h3 id=&#34;ml_correlation_matrix&#34;&gt;ml_correlation_matrix&lt;/h3&gt;
&lt;p&gt;Computes the pairwise correlation matrix for numeric columns in a table, useful for exploratory analysis and feature selection.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table name (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Columns to include. If omitted, all numeric and boolean columns are used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;method&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Correlation method: &lt;code&gt;pearson&lt;/code&gt; (default), &lt;code&gt;spearman&lt;/code&gt;, or &lt;code&gt;spearmand&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Ordered list of column names forming the matrix axes.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;matrix&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
N x N matrix where &lt;code&gt;matrix[i][j]&lt;/code&gt; is the correlation between &lt;code&gt;columns[i]&lt;/code&gt; and &lt;code&gt;columns[j]&lt;/code&gt;; the diagonal is always &lt;code&gt;1.0&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;method&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The correlation method that was used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Summary including matrix dimensions, with a cost warning when more than 50 columns are used.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_detect_outliers&#34;&gt;ml_detect_outliers&lt;/h3&gt;
&lt;p&gt;Detects outliers in one or more numeric columns using statistical thresholds (z-score, robust z-score, or IQR).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Source table name (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
One or more numeric columns to analyze; a row is flagged if any column exceeds the threshold.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;method&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Detection method: &lt;code&gt;z_score&lt;/code&gt; (default), &lt;code&gt;robust_zscore&lt;/code&gt;, or &lt;code&gt;iqr&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;threshold&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Sensitivity cutoff (default: &lt;code&gt;3.0&lt;/code&gt; for &lt;code&gt;z_score&lt;/code&gt;/&lt;code&gt;robust_zscore&lt;/code&gt;, &lt;code&gt;1.5&lt;/code&gt; for &lt;code&gt;iqr&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;limit&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Maximum number of outlier rows returned; the total count is always exact (default: &lt;code&gt;100&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Active columns used for detection.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;method&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The detection method used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;threshold&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The effective threshold value.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;outlier_count&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Total number of outlier rows in the table (not capped by &lt;code&gt;limit&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;outlier_rows&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Up to &lt;code&gt;limit&lt;/code&gt; flagged rows, each with its column values and which columns triggered the flag.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;skipped_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Columns excluded because their statistic was zero or &lt;code&gt;NULL&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary including table, columns, method, threshold, and count.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h2 id=&#34;model-training&#34;&gt;Model training&lt;/h2&gt;
&lt;p&gt;Tools for training supervised, unsupervised, and time-series models directly inside the database.&lt;/p&gt;
&lt;h3 id=&#34;ml_train_model&#34;&gt;ml_train_model&lt;/h3&gt;
&lt;p&gt;Trains Vertica in-database machine learning model, covering classification, regression, clustering, decomposition, and anomaly-detection algorithms.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;algorithm&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Algorithm: &lt;code&gt;bisecting_kmeans&lt;/code&gt;, &lt;code&gt;iforest&lt;/code&gt;, &lt;code&gt;kmeans&lt;/code&gt;, &lt;code&gt;kprototypes&lt;/code&gt;, &lt;code&gt;linear_reg&lt;/code&gt;, &lt;code&gt;logistic_reg&lt;/code&gt;, &lt;code&gt;naive_bayes&lt;/code&gt;, &lt;code&gt;pca&lt;/code&gt;, &lt;code&gt;pls_reg&lt;/code&gt;, &lt;code&gt;poisson_reg&lt;/code&gt;, &lt;code&gt;rf_classifier&lt;/code&gt;, &lt;code&gt;rf_regressor&lt;/code&gt;, &lt;code&gt;svd&lt;/code&gt;, &lt;code&gt;svm_classifier&lt;/code&gt;, &lt;code&gt;svm_regressor&lt;/code&gt;, &lt;code&gt;xgb_classifier&lt;/code&gt;, or &lt;code&gt;xgb_regressor&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;input_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Training data table name. Unqualified temp table names are auto-materialized into a persistent staging table before training.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;predictor_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Predictor/feature column names.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;target_column&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Target/response column; required for supervised algorithms, omitted for clustering/decomposition.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Custom model name (auto-generated as &lt;code&gt;mcp_ml_{algorithm}_{YYYYMMDD_HHMMSS}&lt;/code&gt; if omitted).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;num_clusters&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Number of clusters; required for &lt;code&gt;kmeans&lt;/code&gt;, &lt;code&gt;bisecting_kmeans&lt;/code&gt;, and &lt;code&gt;kprototypes&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;params&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
object&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Algorithm-specific parameter overrides as key-value pairs (for example, &lt;code&gt;{&amp;quot;max_iterations&amp;quot;: &amp;quot;200&amp;quot;}&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to track training progress.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The model name, for use with prediction and evaluation tools once training completes.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;algorithm&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The algorithm used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_train_timeseries&#34;&gt;ml_train_timeseries&lt;/h3&gt;
&lt;p&gt;Trains a time-series model (ARIMA, autoregressor, or moving average) on a table of observed values.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;algorithm&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Time-series algorithm: &lt;code&gt;arima&lt;/code&gt;, &lt;code&gt;autoregressor&lt;/code&gt;, or &lt;code&gt;moving_average&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;input_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Training data table (&lt;code&gt;schema.table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;timeseries_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Column(s) with the observed time-series values. One column for univariate; two or more for a multivariate autoregressor (VAR).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;timestamp_column&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Column containing timestamps or sequence indices; must be sortable.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Custom model name (auto-generated if omitted).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;params&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
object&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Algorithm-specific parameter overrides (for example, &lt;code&gt;{&amp;quot;p&amp;quot;: &amp;quot;2&amp;quot;, &amp;quot;d&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;q&amp;quot;: &amp;quot;1&amp;quot;}&lt;/code&gt; for ARIMA).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to track training progress.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified model name, for use with prediction tools once training completes.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_cross_validate&#34;&gt;ml_cross_validate&lt;/h3&gt;
&lt;p&gt;Evaluates an ML algorithm using k-fold cross-validation, optionally with hyperparameter grid search, for a statistically robust performance estimate without a separate test set.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;algorithm&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Algorithm: &lt;code&gt;logistic_reg&lt;/code&gt;, &lt;code&gt;linear_reg&lt;/code&gt;, &lt;code&gt;naive_bayes&lt;/code&gt;, &lt;code&gt;svm_classifier&lt;/code&gt;, or &lt;code&gt;svm_regressor&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;input_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Training data table (&lt;code&gt;schema.table&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;predictor_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Feature column names.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;target_column&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Target/response column name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Custom model name; auto-generated if omitted. The model is always persisted so results can be retrieved after completion.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;metrics&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Metrics to compute as a comma-separated string or JSON array (default: &lt;code&gt;accuracy&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;fold_count&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Number of folds for k-fold cross-validation (default: &lt;code&gt;5&lt;/code&gt;, minimum: &lt;code&gt;2&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;hyperparams&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
JSON hyperparameter grid to search, for example &lt;code&gt;{&amp;quot;C&amp;quot;:[1,5,10]}&lt;/code&gt;. One result row per combination.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;prediction_cutoff&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Classification threshold for &lt;code&gt;logistic_reg&lt;/code&gt; only (exclusive range 0–1, default: &lt;code&gt;0.5&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;params&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
object&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Algorithm-specific parameter overrides as key-value pairs.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Default schema for the source table (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_status(job_id)&lt;/code&gt; to track progress.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the saved cross-validation model.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;algorithm&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Algorithm used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;fold_count&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Number of folds used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable summary with next-step instructions.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;To get the averaged metric results, run &lt;code&gt;get_model_attribute&lt;/code&gt; on the saved model.&lt;/p&gt;
&lt;h2 id=&#34;prediction&#34;&gt;Prediction&lt;/h2&gt;
&lt;p&gt;Tools for scoring new data using a trained or registered model.&lt;/p&gt;
&lt;h3 id=&#34;ml_predict&#34;&gt;ml_predict&lt;/h3&gt;
&lt;p&gt;Runs predictions using a trained Vertica ML model, producing a new table with scored results.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Trained model name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;input_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Table to run predictions on.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;predictor_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Feature column names; defaults to the model&#39;s stored training predictors.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Output table name (default: &lt;code&gt;{input_table}_predictions&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;params&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
object&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Prediction parameter overrides (for example, &lt;code&gt;{&amp;quot;type&amp;quot;: &amp;quot;probability&amp;quot;}&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;timestamp_column&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
For time-series models: the timestamp/sequence column; defaults to the training timestamp column.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;num_predictions&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
For time-series models: number of future steps to forecast (default: &lt;code&gt;10&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;use_classes&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
boolean&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
For supported classifiers, emit class probability columns instead of a single predicted label.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the predictions table.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;row_count&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Number of rows in the output.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The model used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;algorithm&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The algorithm type.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;query&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The SQL statement that was executed.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_predict_with_registered_model&#34;&gt;ml_predict_with_registered_model&lt;/h3&gt;
&lt;p&gt;Runs predictions using a registered model family name rather than a raw model name, resolving to the production version unless a specific version is requested.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Registered model family name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;input_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Table to run predictions on.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_version&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Specific registered version to use; defaults to the production version.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;predictor_columns&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Feature column names; defaults to the model&#39;s stored training predictors.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Output table name (default: &lt;code&gt;{input_table}_predictions&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;params&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
object&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Prediction parameter overrides beyond &lt;code&gt;model_name&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;timestamp_column&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
For time-series models: the timestamp/sequence column; defaults to the training timestamp column.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;num_predictions&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
For time-series models: number of future steps to forecast (default: &lt;code&gt;10&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;use_classes&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
boolean&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
For supported classifiers, emit class probability columns instead of a single predicted label.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;output_table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified name of the predictions table.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;row_count&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Number of rows in the output.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The registered model family used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_version&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The registered version used.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;algorithm&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The algorithm type.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;query&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The SQL statement that was executed.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h2 id=&#34;model-evaluation&#34;&gt;Model evaluation&lt;/h2&gt;
&lt;p&gt;Tools for measuring model quality and understanding what drives predictions.&lt;/p&gt;
&lt;h3 id=&#34;ml_classification_report&#34;&gt;ml_classification_report&lt;/h3&gt;
&lt;p&gt;Computes classification evaluation metrics: accuracy, precision, recall, F1 score, and optionally AUC.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Table with actual and predicted values.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;actual_column&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Column with actual/true labels.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;predicted_column&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Column with predicted labels.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;additional_metrics&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional list of additional classification metrics to compute (for example, &lt;code&gt;balanced_accuracy&lt;/code&gt;, &lt;code&gt;mcc&lt;/code&gt;, &lt;code&gt;fpr&lt;/code&gt;, &lt;code&gt;npv&lt;/code&gt;, &lt;code&gt;specificity&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;include_auc&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
boolean&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Whether to include ROC AUC in the output (binary classification only, default: &lt;code&gt;false&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;include_prc_auc&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
boolean&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Whether to include PRC AUC in the output (binary classification only, default: &lt;code&gt;false&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;pos_label&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
The label of the positive class.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;probability_column&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Column with predicted probabilities (required for ROC/PRC AUC computation).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_results(job_id)&lt;/code&gt; to retrieve the computed report once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable submission confirmation.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Retrieved with &lt;code&gt;get_job_results&lt;/code&gt;:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;accuracy&lt;/code&gt;, &lt;code&gt;precision&lt;/code&gt;, &lt;code&gt;recall&lt;/code&gt;, &lt;code&gt;f1_score&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Core metrics in range [0, 1]. For multiclass, precision/recall/F1 are macro-averaged.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;auc&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Area Under the ROC Curve (only if &lt;code&gt;include_auc&lt;/code&gt; is &lt;code&gt;true&lt;/code&gt;; binary classification only).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;prc_auc&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Area Under the Precision-Recall Curve (only if &lt;code&gt;include_prc_auc&lt;/code&gt; is &lt;code&gt;true&lt;/code&gt;; binary classification only).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;confusion_matrix&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Array of &lt;code&gt;{actual_class, predicted_class, count}&lt;/code&gt; entries.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;additional_metrics&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Map of any &lt;code&gt;additional_metrics&lt;/code&gt; that were requested.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_regression_report&#34;&gt;ml_regression_report&lt;/h3&gt;
&lt;p&gt;Computes regression evaluation metrics such as MAE, MSE, RMSE, R-squared, adjusted R-squared, AIC, and BIC.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Table with actual and predicted numeric values.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;actual_column&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Column with the true/actual values.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;predicted_column&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Column with the predicted numeric values.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;metrics&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
array&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
List of metrics to compute (for example, &lt;code&gt;mae&lt;/code&gt;, &lt;code&gt;mse&lt;/code&gt;, &lt;code&gt;rmse&lt;/code&gt;, &lt;code&gt;r2&lt;/code&gt;, &lt;code&gt;r2_adj&lt;/code&gt;, &lt;code&gt;aic&lt;/code&gt;, &lt;code&gt;bic&lt;/code&gt;, &lt;code&gt;max_error&lt;/code&gt;). A default report is returned if omitted.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;num_predictors&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Number of predictors used by the model; needed for adjusted R2, AIC, and BIC (default: &lt;code&gt;1&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_results(job_id)&lt;/code&gt; to retrieve the computed report once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable submission confirmation.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Retrieved with &lt;code&gt;get_job_results&lt;/code&gt;:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;metrics&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Array of &lt;code&gt;{metric, value}&lt;/code&gt; entries, one per requested metric.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_features_importance&#34;&gt;ml_features_importance&lt;/h3&gt;
&lt;p&gt;Computes normalized feature importance scores from a trained model, for model interpretation and variable selection.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous.&lt;/strong&gt; Returns &lt;code&gt;job_id&lt;/code&gt; immediately. Retrieve results with &lt;code&gt;get_job_results(job_id)&lt;/code&gt; once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Trained model name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;job_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Asynchronous job identifier; use &lt;code&gt;get_job_results(job_id)&lt;/code&gt; to retrieve scores once the status is &lt;code&gt;completed&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Job status at submission time (&lt;code&gt;pending&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable submission confirmation.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Retrieved with &lt;code&gt;get_job_results&lt;/code&gt;:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The model analyzed.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;features&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Array of &lt;code&gt;{feature, importance, sign}&lt;/code&gt; objects; &lt;code&gt;importance&lt;/code&gt; is normalized to 0–100 and &lt;code&gt;sign&lt;/code&gt; indicates the direction of the relationship (&lt;code&gt;+1&lt;/code&gt; or &lt;code&gt;-1&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h2 id=&#34;model-registry-and-governance&#34;&gt;Model registry and governance&lt;/h2&gt;
&lt;p&gt;Tools for registering trained models under a versioned family name and managing their lifecycle status.&lt;/p&gt;
&lt;h3 id=&#34;ml_register_model&#34;&gt;ml_register_model&lt;/h3&gt;
&lt;p&gt;Registers an existing native Vertica model under a versioned, governed model family name.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Existing native model name (&lt;code&gt;schema.model&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Registered model family name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Schema name (default: &lt;code&gt;public&lt;/code&gt;).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Fully qualified native model name that was registered.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Registered family name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable confirmation.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_list_registered_models&#34;&gt;ml_list_registered_models&lt;/h3&gt;
&lt;p&gt;Lists registered Vertica models, including their versions, statuses, and backing native model names.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional registered model family name to filter by.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;models&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Registered model rows with native status and version information.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;count&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Number of rows returned.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_get_production_model&#34;&gt;ml_get_production_model&lt;/h3&gt;
&lt;p&gt;Resolves the current production version of a registered model family, used when no explicit version is supplied at prediction time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Registered model family name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;model&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The current production row for the registered model family.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_change_model_status&#34;&gt;ml_change_model_status&lt;/h3&gt;
&lt;p&gt;Changes the lifecycle status of a registered model version (for example, promote to production, move to staging, archive, or decline).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Registered model family name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_version&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Registered version number.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;new_status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
New status: &lt;code&gt;under_review&lt;/code&gt;, &lt;code&gt;staging&lt;/code&gt;, &lt;code&gt;production&lt;/code&gt;, &lt;code&gt;archived&lt;/code&gt;, &lt;code&gt;declined&lt;/code&gt;, or &lt;code&gt;unregistered&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The registered model family name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_version&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The version updated.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;new_status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The status it was changed to.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;message&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Human-readable confirmation.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h3 id=&#34;ml_get_model_status_history&#34;&gt;ml_get_model_status_history&lt;/h3&gt;
&lt;p&gt;Fetches the status-change history for a registered model, showing how it moved through lifecycle states over time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Synchronous.&lt;/strong&gt; Returns the result immediately.&lt;/p&gt;
&lt;p&gt;Input schema:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Type&lt;/th&gt; 

&lt;th &gt;
Required&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
yes&lt;/td&gt; 

&lt;td &gt;
Registered model family name.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;registered_version&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
number&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional filter to a single registered version.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;sandbox&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional sandbox name to route this request to an UP node in that sandbox. Ignored if &lt;code&gt;subcluster&lt;/code&gt; is also specified.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;subcluster&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
string&lt;/td&gt; 

&lt;td &gt;
no&lt;/td&gt; 

&lt;td &gt;
Optional subcluster name to route this request to an UP node in that subcluster.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Field&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;history&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Status history rows ordered by &lt;code&gt;status_change_time&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;count&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Number of history rows returned.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;


      </description>
    </item>
    
  </channel>
</rss>
