解释数据帧分析 API编辑

解释数据帧分析配置。

请求编辑

GET _ml/data_frame/analytics/_explain

POST _ml/data_frame/analytics/_explain

GET _ml/data_frame/analytics/<data_frame_analytics_id>/_explain

POST _ml/data_frame/analytics/<data_frame_analytics_id>/_explain

先决条件编辑

需要以下权限

  • 集群:monitor_ml(内置角色 machine_learning_user 授予此权限)
  • 源索引:readview_index_metadata

描述编辑

此 API 提供对已存在或尚未创建的数据帧分析配置的解释。提供以下解释

  • 哪些字段包含或不包含在分析中,以及原因。
  • 估计需要多少内存。该估计值可用于在稍后决定 model_memory_limit 设置的适当值时使用。

如果您有对象字段或通过源筛选器排除的字段,则它们不会包含在解释中。

路径参数编辑

<data_frame_analytics_id>
(可选,字符串) 数据帧分析作业的标识符。

请求正文编辑

数据帧分析配置,如 创建数据帧分析作业 中所述。请注意,在该 API 的上下文中,不需要提供 iddest

响应正文编辑

该 API 返回一个包含以下内容的响应

field_selection

(数组) 解释每个字段选择的对象数组,按字段名称排序。

field_selection 对象的属性
is_included
(布尔值) 是否选择将字段包含在分析中。
is_required
(布尔值) 字段是否必需。
feature_type
(字符串) 此字段的分析特征类型。可能是 categoricalnumerical
mapping_types
(字符串) 字段的映射类型。
name
(字符串) 字段名称。
reason
(字符串) 未选择将字段包含在分析中的原因。
memory_estimation

(对象) 包含内存估计值的对象。

memory_estimation 的属性
expected_memory_with_disk
(字符串) 在假设数据帧分析期间允许溢出到磁盘的情况下估计的内存使用量。 expected_memory_with_disk 通常小于 expected_memory_without_disk,因为使用磁盘可以限制执行数据帧分析所需的内存。
expected_memory_without_disk
(字符串) 在假设整个数据帧分析应该在内存中进行(即不溢出到磁盘)的情况下估计的内存使用量。

示例编辑

POST _ml/data_frame/analytics/_explain
{
  "source": {
    "index": "houses_sold_last_10_yrs"
  },
  "analysis": {
    "regression": {
      "dependent_variable": "price"
    }
  }
}

该 API 返回以下结果

{
  "field_selection": [
    {
      "field": "number_of_bedrooms",
      "mappings_types": ["integer"],
      "is_included": true,
      "is_required": false,
      "feature_type": "numerical"
    },
    {
      "field": "postcode",
      "mappings_types": ["text"],
      "is_included": false,
      "is_required": false,
      "reason": "[postcode.keyword] is preferred because it is aggregatable"
    },
    {
      "field": "postcode.keyword",
      "mappings_types": ["keyword"],
      "is_included": true,
      "is_required": false,
      "feature_type": "categorical"
    },
    {
      "field": "price",
      "mappings_types": ["float"],
      "is_included": true,
      "is_required": true,
      "feature_type": "numerical"
    }
  ],
  "memory_estimation": {
    "expected_memory_without_disk": "128MB",
    "expected_memory_with_disk": "32MB"
  }
}