获取数据框分析作业统计信息 API
编辑获取数据框分析作业统计信息 API
编辑检索数据框分析作业的使用信息。
请求
编辑GET _ml/data_frame/analytics/<data_frame_analytics_id>/_stats
GET _ml/data_frame/analytics/<data_frame_analytics_id>,<data_frame_analytics_id>/_stats
GET _ml/data_frame/analytics/_stats
GET _ml/data_frame/analytics/_all/_stats
GET _ml/data_frame/analytics/*/_stats
先决条件
编辑需要 monitor_ml
集群权限。此权限包含在 machine_learning_user
内置角色中。
路径参数
编辑-
<data_frame_analytics_id>
- (可选,字符串)数据框分析作业的标识符。如果您未指定此选项,则 API 返回前 100 个数据框分析作业的信息。
查询参数
编辑-
allow_no_match
-
(可选,布尔值)指定在请求时执行的操作
- 包含通配符表达式,并且没有匹配的数据框分析作业。
- 包含
_all
字符串或没有标识符,并且没有匹配项。 - 包含通配符表达式,并且只有部分匹配项。
默认值为
true
,当没有匹配项时返回一个空的data_frame_analytics
数组,当存在部分匹配项时返回结果的子集。如果此参数为false
,则当没有匹配项或只有部分匹配项时,请求返回404
状态代码。 -
from
- (可选,整数)跳过指定数量的数据框分析作业。默认值为
0
。 -
size
- (可选,整数)指定要获取的最大数据框分析作业数。默认值为
100
。 -
verbose
- (可选,布尔值)定义统计信息响应是否应详细。默认值为
false
。
响应体
编辑-
data_frame_analytics
-
(数组)一个对象数组,其中包含数据框分析作业的使用信息,这些对象按
id
值升序排序。数据框分析作业使用资源的属性
-
analysis_stats
-
(对象)一个包含分析作业信息的对象。
analysis_stats
的属性-
classification_stats
-
(对象)一个包含分类分析作业信息的对象。
classification_stats
的属性-
hyperparameters
-
(对象)一个包含分类分析作业参数的对象。
hyperparameters
的属性-
alpha
- (双精度)高级配置选项。机器学习使用损失引导的树增长,这意味着决策树在正则化损失减少最快的地方增长。此参数通过充当树深度的乘数来影响损失计算。较高的 alpha 值会导致较浅的树和更快的训练时间。默认情况下,此值在超参数优化期间计算。它必须大于或等于零。
-
class_assignment_objective
- (字符串)定义在分配类标签时要优化的目标:
maximize_accuracy
或maximize_minimum_recall
。当最大化准确性时,选择类标签以最大化正确预测的数量。当最大化最小召回率时,选择标签以最大化任何类的最小召回率。默认为maximize_minimum_recall
。 -
downsample_factor
- (双精度)高级配置选项。控制用于计算树训练损失函数导数的数据比例。小值导致使用小部分数据。如果此值设置为小于 1,则通常会提高准确性。但是,太小的值可能会导致集成收敛不良,因此需要更多的树。有关收缩的更多信息,请参阅 此维基文章。默认情况下,此值在超参数优化期间计算。它必须大于零且小于或等于 1。
-
eta
- (双精度)高级配置选项。应用于权重的收缩。较小的值会导致具有更好泛化误差的较大森林。但是,较大的森林会导致较慢的训练。有关收缩的更多信息,请参阅 此维基文章。默认情况下,此值在超参数优化期间计算。它必须是 0.001 到 1 之间的值。
-
eta_growth_rate_per_tree
- (双精度)高级配置选项。指定添加到森林的每个新树的
eta
增加的速率。例如,1.05 的速率使每个额外树的eta
增加 5%。默认情况下,此值在超参数优化期间计算。它必须在 0.5 到 2 之间。 -
feature_bag_fraction
- (双精度)高级配置选项。定义在为每个候选拆分选择随机包时将使用的特征比例。默认情况下,此值在超参数优化期间计算。
-
gamma
- (双精度)高级配置选项。防止在训练数据集上过度拟合的正则化参数。乘以与森林中单个树的大小相关的线性惩罚。较高的 gamma 值会导致训练偏好较小的树。较小的 gamma 值会导致较大的单个树和较慢的训练。默认情况下,此值在超参数优化期间计算。它必须是非负值。
-
lambda
- (双精度)高级配置选项。防止在训练数据集上过度拟合的正则化参数。乘以应用于森林中单个树的叶权重的 L2 正则化项。较高的 lambda 值会导致训练偏好较小的叶权重。这种行为使预测函数更平滑,但代价是可能无法捕获特征和因变量之间的相关关系。较小的 lambda 值会导致较大的单个树和较慢的训练。默认情况下,此值在超参数优化期间计算。它必须是非负值。
-
max_attempts_to_add_tree
- (整数)如果算法无法确定非平凡树(多个叶子),则此参数确定容忍多少次此类连续失败。一旦尝试次数超过阈值,森林训练就会停止。
-
max_optimization_rounds_per_hyperparameter
- (整数)高级配置选项。一个乘数,负责确定贝叶斯优化过程中超参数优化的最大步数。最大步数是根据未定义的超参数数量乘以每个超参数的最大优化轮数确定的。默认情况下,此值在超参数优化期间计算。
-
max_trees
- (整数)高级配置选项。定义森林中决策树的最大数量。最大值为 2000。默认情况下,此值在超参数优化期间计算。
-
num_folds
- (整数)交叉验证过程的最大折叠次数。
-
num_splits_per_feature
- (整数)确定在训练树时决策树中每个特征可能出现的最大拆分次数。
-
soft_tree_depth_limit
- (双精度)高级配置选项。机器学习使用损失引导的树增长,这意味着决策树在正则化损失减少最快的地方增长。此软限制与
soft_tree_depth_tolerance
结合使用,以惩罚超过指定深度的树;正则化损失在此深度之外迅速增加。默认情况下,此值在超参数优化期间计算。它必须大于或等于 0。 -
soft_tree_depth_tolerance
- (双精度)高级配置选项。此选项控制当树深度超过
soft_tree_depth_limit
时正则化损失增加的速度。默认情况下,此值在超参数优化期间计算。它必须大于或等于 0.01。
-
-
iteration
- (整数)分析的迭代次数。
-
timestamp
- (日期)自纪元以来以毫秒为单位报告统计信息的时间戳。
-
timing_stats
-
(对象)一个包含数据框分析作业时间统计信息的对象。
timing_stats
的属性-
elapsed_time
- (整数)分析的运行时间(以毫秒为单位)。
-
iteration_time
- (整数)最近一次分析迭代的运行时间(以毫秒为单位)。
-
-
validation_loss
-
(对象)一个包含验证损失信息的对象。
validation_loss
的属性-
fold_values
- 在森林增长过程中,每次添加决策树的验证损失值。
-
loss_type
- (字符串)损失指标的类型。例如,
binomial_logistic
。
-
-
-
outlier_detection_stats
-
(对象)一个包含有关异常值检测作业信息的对象。
outlier_detection_stats
的属性-
parameters
-
(对象)用户指定或由算法启发式确定的作业参数列表。
parameters
的属性-
compute_feature_influence
- (布尔值)指定是否启用特征影响计算。默认为
true
。 -
feature_influence_threshold
- (双精度)文档需要具有的最小异常值分数才能计算其特征影响分数。值范围:0-1(默认为
0.1
)。 -
method
- (字符串)异常值检测使用的方法。可用方法有
lof
、ldof
、distance_kth_nn
、distance_knn
和ensemble
。默认值为ensemble
,这意味着异常值检测使用不同方法的集合,并标准化和组合它们的各个异常值分数以获得总体异常值分数。 -
n_neighbors
- (整数)定义每个异常值检测方法用于计算其异常值分数的最近邻居的数量的值。当未设置该值时,不同的集成成员使用不同的值。此默认行为有助于提高集成的多样性;仅当您确信所选值适合数据集时才覆盖它。
-
outlier_fraction
- (双精度)在异常值检测之前假定为离群值的数据集比例。例如,0.05 表示假定 5% 的值是真正的离群值,而 95% 是内群值。
-
standardization_enabled
- (布尔值) 如果
true
,则在计算离群值得分之前,会对列执行以下操作:(x_i - mean(x_i)) / sd(x_i)。默认为true
。有关此概念的更多信息,请参阅 维基百科。
-
-
timestamp
- (日期)自纪元以来以毫秒为单位报告统计信息的时间戳。
-
timing_stats
-
(对象)一个包含数据框分析作业时间统计信息的对象。
timing_stats
的属性-
elapsed_time
- (整数)分析的运行时间(以毫秒为单位)。
-
-
-
regression_stats
-
(对象) 包含有关回归分析作业信息的对象。
regression_stats
的属性-
hyperparameters
-
(对象) 包含回归分析作业参数的对象。
hyperparameters
的属性-
alpha
- (双精度)高级配置选项。机器学习使用损失引导的树增长,这意味着决策树在正则化损失减少最快的地方增长。此参数通过充当树深度的乘数来影响损失计算。较高的 alpha 值会导致较浅的树和更快的训练时间。默认情况下,此值在超参数优化期间计算。它必须大于或等于零。
-
downsample_factor
- (双精度)高级配置选项。控制用于计算树训练损失函数导数的数据比例。小值导致使用小部分数据。如果此值设置为小于 1,则通常会提高准确性。但是,太小的值可能会导致集成收敛不良,因此需要更多的树。有关收缩的更多信息,请参阅 此维基文章。默认情况下,此值在超参数优化期间计算。它必须大于零且小于或等于 1。
-
eta
- (双精度)高级配置选项。应用于权重的收缩。较小的值会导致具有更好泛化误差的较大森林。但是,较大的森林会导致较慢的训练。有关收缩的更多信息,请参阅 此维基文章。默认情况下,此值在超参数优化期间计算。它必须是 0.001 到 1 之间的值。
-
eta_growth_rate_per_tree
- (双精度)高级配置选项。指定添加到森林的每个新树的
eta
增加的速率。例如,1.05 的速率使每个额外树的eta
增加 5%。默认情况下,此值在超参数优化期间计算。它必须在 0.5 到 2 之间。 -
feature_bag_fraction
- (双精度)高级配置选项。定义在为每个候选拆分选择随机包时将使用的特征比例。默认情况下,此值在超参数优化期间计算。
-
gamma
- (双精度)高级配置选项。防止在训练数据集上过度拟合的正则化参数。乘以与森林中单个树的大小相关的线性惩罚。较高的 gamma 值会导致训练偏好较小的树。较小的 gamma 值会导致较大的单个树和较慢的训练。默认情况下,此值在超参数优化期间计算。它必须是非负值。
-
lambda
- (双精度)高级配置选项。防止在训练数据集上过度拟合的正则化参数。乘以应用于森林中单个树的叶权重的 L2 正则化项。较高的 lambda 值会导致训练偏好较小的叶权重。这种行为使预测函数更平滑,但代价是可能无法捕获特征和因变量之间的相关关系。较小的 lambda 值会导致较大的单个树和较慢的训练。默认情况下,此值在超参数优化期间计算。它必须是非负值。
-
max_attempts_to_add_tree
- (整数)如果算法无法确定非平凡树(多个叶子),则此参数确定容忍多少次此类连续失败。一旦尝试次数超过阈值,森林训练就会停止。
-
max_optimization_rounds_per_hyperparameter
- (整数)高级配置选项。一个乘数,负责确定贝叶斯优化过程中超参数优化的最大步数。最大步数是根据未定义的超参数数量乘以每个超参数的最大优化轮数确定的。默认情况下,此值在超参数优化期间计算。
-
max_trees
- (整数)高级配置选项。定义森林中决策树的最大数量。最大值为 2000。默认情况下,此值在超参数优化期间计算。
-
num_folds
- (整数)交叉验证过程的最大折叠次数。
-
num_splits_per_feature
- (整数)确定在训练树时决策树中每个特征可能出现的最大拆分次数。
-
soft_tree_depth_limit
- (双精度)高级配置选项。机器学习使用损失引导的树增长,这意味着决策树在正则化损失减少最快的地方增长。此软限制与
soft_tree_depth_tolerance
结合使用,以惩罚超过指定深度的树;正则化损失在此深度之外迅速增加。默认情况下,此值在超参数优化期间计算。它必须大于或等于 0。 -
soft_tree_depth_tolerance
- (双精度)高级配置选项。此选项控制当树深度超过
soft_tree_depth_limit
时正则化损失增加的速度。默认情况下,此值在超参数优化期间计算。它必须大于或等于 0.01。
-
-
iteration
- (整数)分析的迭代次数。
-
timestamp
- (日期)自纪元以来以毫秒为单位报告统计信息的时间戳。
-
timing_stats
-
(对象)一个包含数据框分析作业时间统计信息的对象。
timing_stats
的属性-
elapsed_time
- (整数)分析的运行时间(以毫秒为单位)。
-
iteration_time
- (整数)最近一次分析迭代的运行时间(以毫秒为单位)。
-
-
validation_loss
-
(对象)一个包含验证损失信息的对象。
validation_loss
的属性-
fold_values
- (字符串数组) 森林生长过程中,每个添加的决策树的验证损失值。
-
loss_type
- (字符串)损失指标的类型。例如,
binomial_logistic
。
-
-
-
-
assignment_explanation
- (字符串) 仅对于正在运行的作业,包含与选择运行作业的节点相关的消息。
-
data_counts
-
(对象) 提供有关跳过、用于训练或可用于测试的文档数量的计数的对象。
data_counts
的属性-
skipped_docs_count
- (整数) 分析过程中跳过的文档数量,因为它们包含分析不支持的值。例如,离群值检测不支持缺失字段,因此会跳过具有缺失字段的文档。同样,所有类型的分析都会跳过包含多个元素的数组的文档。
-
test_docs_count
- (整数) 未用于训练模型且可用于测试的文档数量。
-
training_docs_count
- (整数) 用于训练模型的文档数量。
-
-
id
- (字符串) 数据帧分析作业的唯一标识符。
-
memory_usage
-
(可选,对象) 描述分析内存使用情况的对象。仅在作业启动并报告内存使用情况后才存在。
memory_usage
的属性-
memory_reestimate_bytes
- (长整型) 当
status
为hard_limit
时,此值存在,并且是作业所需内存的新估计值。 -
peak_usage_bytes
- (长整型) 内存使用量最高峰值时使用的字节数。
-
status
-
(字符串) 内存使用状态。可能具有以下值之一:
-
ok
:使用量保持在限制以下。 -
hard_limit
:使用量超过配置的内存限制。
-
-
timestamp
- (日期) 计算内存使用量的时间戳。
-
-
node
-
(对象) 包含运行作业的节点的属性。此信息仅适用于正在运行的作业。
node
的属性-
attributes
- (对象) 列出节点属性,例如
ml.machine_memory
或ml.max_open_jobs
设置。 -
ephemeral_id
- (字符串) 节点的临时 ID。
-
id
- (字符串) 节点的唯一标识符。
-
name
- (字符串) 节点名称。
-
transport_address
- (字符串) 接受传输 HTTP 连接的主机和端口。
-
-
progress
-
(数组) 数据帧分析作业按阶段的进度报告。
阶段对象的属性
-
phase
-
(字符串) 定义数据帧分析作业的阶段。可能的阶段:
-
reindexing
, -
loading_data
, -
computing_outliers
(仅用于离群值检测), -
feature_selection
(仅用于回归和分类), -
coarse_parameter_search
(仅用于回归和分类), -
fine_tuning_parameters
(仅用于回归和分类), -
final_training
(仅用于回归和分类), -
writing_results
, -
inference
(仅用于回归和分类)。要了解有关不同阶段的更多信息,请参阅 数据帧分析作业的工作原理。
-
-
progress_percent
- (整数) 数据帧分析作业已完成的进度,以百分比表示。
-
-
state
- (字符串) 数据帧分析作业的状态,可以是以下值之一:
failed
、started
、starting
、stopping
、stopped
。
-
响应代码
编辑-
404
(缺少资源) - 如果
allow_no_match
为false
,则此代码表示没有与请求匹配的资源,或者只有部分匹配。
示例
编辑以下 API 检索 离群值检测数据帧分析作业示例 的使用信息。
resp = client.ml.get_data_frame_analytics_stats( id="weblog-outliers", ) print(resp)
response = client.ml.get_data_frame_analytics_stats( id: 'weblog-outliers' ) puts response
const response = await client.ml.getDataFrameAnalyticsStats({ id: "weblog-outliers", }); console.log(response);
GET _ml/data_frame/analytics/weblog-outliers/_stats
{ "count" : 1, "data_frame_analytics" : [ { "id" : "weblog-outliers", "state" : "stopped", "progress" : [ { "phase" : "reindexing", "progress_percent" : 100 }, { "phase" : "loading_data", "progress_percent" : 100 }, { "phase" : "computing_outliers", "progress_percent" : 100 }, { "phase" : "writing_results", "progress_percent" : 100 } ], "data_counts" : { "training_docs_count" : 1001, "test_docs_count" : 0, "skipped_docs_count" : 0 }, "memory_usage" : { "timestamp" : 1626264770206, "peak_usage_bytes" : 328011, "status" : "ok" }, "analysis_stats" : { "outlier_detection_stats" : { "timestamp" : 1626264770206, "parameters" : { "n_neighbors" : 0, "method" : "ensemble", "compute_feature_influence" : true, "feature_influence_threshold" : 0.1, "outlier_fraction" : 0.05, "standardization_enabled" : true }, "timing_stats" : { "elapsed_time" : 32 } } } } ] }