
# 执行纵向联邦分箱和IV计算作业 - executeFlVerticalIvCalculateJob
#### 功能介绍
执行纵向联邦分箱和IV计算作业
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-tics/tics_05_0025.html)。
#### URI
POST /v1/{project_id}/leagues/{league_id}/fl-vertical-jobs/{job_id}/ivcalculate
表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参数 
| 参数                 | 是否必选 | 参数类型                                                                                                    | 描述                                                                                                                                                |
|:---|:---|:---|:---|
| datasets           | 是    | String                                                                                                  | 每个可信计算节点的数据集名                                                                                                                                     |
| features           | 否    | Array of [DatasetFeatureEntity] objects | 数据集特征列                                                                                                                                            |
| label              | 是    | String                                                                                                  | 标签列，最大值1000                                                                                                                                       |
| featuresList       | 是    | Map\<String,Array\<String\>\>                                                                           | 特征信息                                                                                                                                              |
| 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联邦训练      |
| label_dataset      | 是    | String                                                                                                  | 标签数据集，最大值100                                                                                                                                      |
| label_agent        | 是    | String                                                                                                  | 标签方可信计算节点，最大值100                                                                                                                                  |
| job_name           | 是    | String                                                                                                  | 作业名称。名称不能以空白字符开头结尾、或者包含下列任何字符：\\ / : \* ? " \< \> \|，长度要求在1\~128之间                                                                                |
| binning_type       | 是    | String                                                                                                  | 分箱类型。DISTANCE.距离，FREQUENCY.频率;                                                                                                                    |
| learning_task_type | 否    | String                                                                                                  | 纵向联邦作业类型。 CLASSIFICATION(1), REGRESSION(2); |
| job_creation_agent | 否    | String                                                                                                  | 预测作业发起方可信计算节点ID，最大32位，由字母和数字组成                                                                                                                    |
| is_single_predict  | 否    | Boolean                                                                                                 | 单方还是双方预测                                                                                                                                          |
| vfl_external_param | 是    | [VerticalFlExternalParam] object     | 纵向联邦的其他参数。                                                                                                                                        |
| model_param        | 是    | [ModelParamVo] object                           | 纵向联邦的模型参数。                                                                                                                                        |
   
 表4DatasetFeatureEntity 
| 参数           | 是否必选 | 参数类型             | 描述            |
|:---|:---|:---|:---|
| agent_id     | 是    | String           | 数据集所属agent id |
| dataset_name | 是    | String           | 数据集名称         |
| features     | 是    | Array of strings | 数据集特征集合       |
   
 表5VerticalFlExternalParam 
| 参数                             | 是否必选 | 参数类型    | 描述                             |
|:---|:---|:---|:---|
| dp.enabled                     | 是    | Boolean | 是否启用差分隐私                       |
| dp.epsilon                     | 是    | Float   | 差分隐私隐私预算                       |
| dp.output.threshold.high.min   | 是    | Float   | 差分隐私阈值上限最小值                    |
| dp.output.threshold.high.max   | 是    | Float   | 差分隐私阈值上限最大值                    |
| dp.output.threshold.low.min    | 是    | String  | 差分隐私阈值下限最小值                    |
| dp.output.threshold.low.max    | 是    | String  | 差分隐私阈值下限最大值                    |
| dp.backpg.origin.num           | 是    | String  | 差分隐私反向传播使用原始输出做梯度下降的记录条数       |
| dp.output.threshold.adjust.num | 是    | String  | 差分隐私动态调整阈值的记录条数                |
| dp.supply.store.policy         | 是    | String  | 标签方回填存储策略，0不回填，1内存存储（默认），2磁盘存储 |
   
 表6ModelParamVo 
| 参数                      | 是否必选 | 参数类型              | 描述                          |
|:---|:---|:---|:---|
| 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**
表7响应Body参数 
| 参数              | 参数类型   | 描述            |
|:---|:---|:---|
| job_instance_id | String | 作业实例id，最大长度32 |
   
#### 请求示例
执行纵向联邦分箱和IV计算作业
```
post https://x.x.x.x:12345/v1/{project_id}/leagues/{league_id}/fl-vertical-jobs/{job_id}/ivcalculate
{
  "binning_type" : "FREQUENCY",
  "job_name" : "aGDy1",
  "featuresList" : {
    "dayu001.e7c3efdd9533495d8d5cb9836097b985.5afbc2c700f147459b42fc718fb0237c.breast_hetero_mini_guest" : [ "x0" ]
  },
  "job_instance_type" : "VFL_FEATURE_SELECTION",
  "label_dataset" : "breast_hetero_mini_guest",
  "label" : "y",
  "label_agent" : "e7c3efdd9533495d8d5cb9836097b985",
  "datasets" : "e7c3efdd9533495d8d5cb9836097b985.breast_hetero_mini_guest.dayu001,eb6756be3d1e47b08c27b7127cc8e546.breast_hetero_mini_host_agent.space_creator"
}
```
#### 响应示例
**状态码：200**
执行纵向联邦分箱和IV计算作业成功
```
{
  "job_instance_id" : "7b0df147d6464ef2877b22f6d964d274"
}
```
#### 状态码
| 状态码 | 描述                |
|:---|:---|
| 200 | 执行纵向联邦分箱和IV计算作业成功 |
| 401 | 操作无权限             |
| 500 | 内部服务器错误           |
   
