- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- API参考
- SDK参考
-
常见问题
- 高频常见问题
- 大模型概念类
-
大模型微调训练类
- 无监督领域知识数据量无法支持增量预训练,如何进行模型学习
- 如何调整训练参数,使盘古大模型效果最优
- 如何判断盘古大模型训练状态是否正常
- 如何评估微调后的盘古大模型是否正常
- 如何调整推理参数,使盘古大模型效果最优
- 为什么微调后的盘古大模型总是重复相同的回答
- 为什么微调后的盘古大模型的回答中会出现乱码
- 为什么微调后的盘古大模型的回答会异常中断
- 为什么微调后的盘古大模型只能回答训练样本中的问题
- 为什么在微调后的盘古大模型中输入训练样本问题,回答完全不同
- 为什么微调后的盘古大模型评估结果很好,但实际场景表现很差
- 为什么多轮问答场景的盘古大模型微调效果不好
- 数据量足够,为什么盘古大模型微调效果仍然不好
- 数据量和质量均满足要求,为什么盘古大模型微调效果不好
- 大模型使用类
- 提示词工程类
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
排列特征重要性
功能介绍
支持用户传入一批数据样本,并据此计算各个特征的排列重要性(permutation importance)。
基本原理为,对输入的数据样本,首先完成一次推理,将评估指标作为baseline。将数据的某一特征在行数据之间随机混洗,评估预测效果,并计算指标的下降值,并以此评估特征的重要性。当混洗某一列特征,导致预测效果与baseline有较大下降时,则说明此列特征重要性较高。此处使用r2_score作为回归任务的评估指标。
注意:输入的数据需包含预测目标列的真值,且数量大于1000,以便更精确地计算预测效果指标。
另外,融合推荐回归预测大模型提供两种特征重要性,分别为模型权重特征重要性和排列特征重要性,对两种特征重要性的详细说明参见《用户指南》“使用API调用预测大模型 > 排列特征重要性”部分。
URI
POST /v1/{project_id}/infer-api/proxy/service/{deployment_id}/perm-feat-importance
获取URI方式请参见请求URI。
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 用于获取操作API的权限。获取Token接口响应消息头中X-Subject-Token的值即为Token。 |
Content-Type |
是 |
String |
发送的实体的MIME类型,参数值为“application/json”。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Apig-AppCode |
是 |
String |
API Key值。 用于获取操作API的权限。API Key认证响应消息头中X-Apig-AppCode的值即为API Key。 |
Content-Type |
是 |
String |
发送的实体的MIME类型,参数值为“application/json”。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
data |
是 |
Array |
含义和表4中的data参数相同。注意,排列特征重要性接口除提供各特征名及特征值外,还需提供预测目标列的列名及其真值(即示例中的target项),且数据数量大于1000,以便准确计算预测效果指标。 |
fi_args |
是 |
Dict |
参数解释: 特征重要性的参数,包含num_shuffle_sets、sample_num字段。 约束限制: num_shuffle_sets,非必填,Integer类型,代表采样混洗次数,越大则结果越准确,但耗时更高。 sample_num,非必填,Integer类型,代表单次采样混洗数据量,越大则结果越准确,但耗时更高。 取值范围: num_shuffle_sets,要求>=1,建议>=5。 sample_num,要求>=1000,建议>=3500。 默认取值: num_shuffle_sets,默认值为1。 sample_num,默认值为1000,当用户不传入此参数,或大于data数量时,直接使用全部数据,不进行采样。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
feature_importance |
Array |
降序排列的各特征重要性,每项为[特征名, 特征重要性分值]。 |
cost_time |
Long |
计算耗时。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误信息。 |
请求示例
{
"data": [
{
"feature_1": xx,
"feature_2": xx,
...
"feature_n": xx,
"target": 0,
},
...
{
"feature_1": xx,
"feature_2": xx,
...
"feature_n": xx,
"target": 1
}
],
"fi_args":{
"num_shuffle_sets": 1,
"sample_num": 1000
}
}
此处data列表的长度至少为1000,建议通过以下代码根据csv文件生成请求体(DATA_NUM为从csv文件中采样数据的数量):
import random
import json
import pandas as pd
ENCODING_TYPE = "utf-8"
DATA_NUM = 1200
data_path = "path/to/xxx.csv"
df = pd.read_csv(data_path, encoding=ENCODING_TYPE)
data_list = df.to_dict("records")
data_list = random.sample(data_list, DATA_NUM)
request_data = {
"data": data_list,
"fi_args": {
"num_shuffle_sets": 1,
"sample_num": 1000,
}
}
request_str = json.dumps(request_data)
print(request_str)
响应示例
{
"cost_time": 4.322,
"feature_importance": [
["feature_2", 0.15]
...
["feature_17",0.001]
]
}
状态码
请参见状态码。
错误码
请参见错误码。