
# 执行纵向联邦模型训练作业 - executeFlVerticalJob
#### 功能介绍
执行纵向联邦模型训练作业
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-tics/tics_05_0025.html)。
#### URI
POST /v1/{project_id}/leagues/{league_id}/fl-vertical-jobs/{job_id}/execute
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                  |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID，最大32位，由字母和数字组成 |
| league_id  | 是    | String | 空间ID，最大32位，由字母和数字组成 |
| job_id     | 是    | String | 任务id，最大32位，由字母和数字组成 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。由一个或多个字母数字+-=符号组成。 通过调用接口获取用户Token接口获取。 |
| X-Language   | 是    | String | 根据自己偏好的语言来获取不同语言的返回内容，zh-cn或者en_us                                                      |
| Content-Type | 是    | String | 发送的实体的MIME类型。推荐用户默认使用application/json，有其他取值时会在具体接口中专门说明。                                |
   
表3请求Body参数 
| 参数                 | 是否必选 | 参数类型                                                                                         | 描述                                                                                                                                           |
|:---|:---|:---|:---|
| instance_id        | 否    | String                                                                                       | 实例id，最大32位，由字母和数字组成                                                                                                                          |
| job_instance_type  | 是    | String                                                                                       | 作业类型。HFL横向联邦，SQL联邦分析，VFL_EVALUATE联邦评估，VFL_FEATURE_SELECTION特征选择，VFL_ID_TRUNCATIONId截断，VFL_PREDICT联邦预测，VFL_SAMPLE_ALIGNMENT样本对齐，VFL_TRAIN联邦训练 |
| datasets           | 否    | String                                                                                       | "代理id1.数据集名1.租户别名1,代理id2.数据集名2.租户别名2"格式的字符串                                                                                                  |
| features           | 否    | Array of [DatasetFeatureEntity] objects | 所选数据集特征                                                                                                                                      |
| label_dataset      | 否    | String                                                                                       | 标签数据集，最大长度100                                                                                                                                |
| label              | 否    | String                                                                                       | 标签列名，最大长度1000                                                                                                                                |
| label_agent        | 否    | String                                                                                       | 标签方代理id，最大32位，由字母和数字组成                                                                                                                       |
| job_name           | 否    | String                                                                                       | 作业名称。名称不能以空白字符开头结尾、或者包含下列任何字符：\\ / : \* ? " \< \> \|，长度要求在1\~128之间 ，最大值2的31次方-1                      |
| binning_type       | 否    | String                                                                                       | 分箱类型。DISTANCE.距离，FREQUENCY.频率;                                                                                                               |
| learning_task_type | 否    | String                                                                                       | 纵向联邦任务类型。 CLASSIFICATION(1), REGRESSION(2);                  |
| job_creation_agent | 否    | String                                                                                       | 作业发起方代理id，最大32位，由字母和数字组成                                                                                                                     |
| model_param        | 否    | [ModelParamVo] object                           | 纵向联邦的模型参数                                                                                                                                    |
   
 表4DatasetFeatureEntity 
| 参数           | 是否必选 | 参数类型             | 描述            |
|:---|:---|:---|:---|
| agent_id     | 是    | String           | 数据集所属agent id |
| dataset_name | 是    | String           | 数据集名称         |
| features     | 是    | Array of strings | 数据集特征集合       |
   
 表5ModelParamVo 
| 参数                      | 是否必选 | 参数类型              | 描述                          |
|:---|:---|:---|:---|
| predict_threshold       | 否    | Float             | 预测阈值，最小值0，最大值1              |
| learning_rate           | 否    | Float             | 学习率，最小值0，最大值1               |
| batch_size              | 否    | Integer           | 批大小，最小值1                    |
| epoch                   | 否    | Integer           | 迭代次数，最小值1                   |
| tree_num                | 否    | Integer           | 树数量，最小值1                    |
| tree_depth              | 否    | Integer           | 树深度，最小值1                    |
| split_num               | 否    | Integer           | 切分点数量，最小值5                  |
| discrete_embedding_size | 否    | Integer           | 离散特征embedding的维度，最小值4       |
| multihot_embedding_size | 否    | Integer           | multihot特征embedding的维度，最小值4 |
| mlp_dims                | 否    | Array of integers | 多层感知机每层的节点数                 |
| reduction_ratio         | 否    | Integer           | senet层压缩比例，最小值2             |
| save_format             | 否    | String            | 模型保存格式                      |
| loss_function           | 否    | String            | 损失函数                        |
| loss_param              | 否    | String            | 损失函数参数json字符串               |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数              | 参数类型   | 描述            |
|:---|:---|:---|
| job_instance_id | String | 作业实例id，最大长度32 |
   
#### 请求示例
```
post https://x.x.x.x:12345/v1/{project_id}/leagues/{league_id}/fl-vertical-jobs/{job_id}/execute
{
  "job_instance_type" : "VFL_TRAIN",
  "job_creation_agent" : "eb6756be3d1e47b08c27b7127cc8e546",
  "model_param" : {
    "learning_rate" : "0.5",
    "epoch" : 1,
    "batch_size" : 1,
    "tree_num" : 1,
    "tree_depth" : 1,
    "split_num" : 5,
    "predict_threshold" : "0.5"
  },
  "vfl_external_param" : {
    "dp.enabled" : true,
    "dp.epsilon" : 10
  }
}
```
#### 响应示例
**状态码：200**
执行纵向联邦模型训练作业成功
```
{
  "job_instance_id" : "7b0df147d6464ef2877b22f6d964d274"
}
```
#### 状态码
| 状态码 | 描述             |
|:---|:---|
| 200 | 执行纵向联邦模型训练作业成功 |
| 401 | 操作无权限          |
| 500 | 内部服务器错误        |
   
