データフレーム分析ジョブの統計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
- (ダブル)高度な設定オプション。機械学習は損失ガイドツリー成長を使用し、これは正則化損失が最も早く減少する場所で決定木が成長することを意味します。このパラメータは、ツリーの深さの乗数として機能することにより、損失計算に影響を与えます。高いアルファ値は浅いツリーと迅速なトレーニング時間をもたらします。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。0以上である必要があります。
class_assignment_objective
- (文字列)クラスラベルを割り当てる際に最適化する目的を定義します:
maximize_accuracy
またはmaximize_minimum_recall
。精度を最大化する場合、クラスラベルは正しい予測の数を最大化するように選択されます。最小リコールを最大化する場合、ラベルは任意のクラスの最小リコールを最大化するように選択されます。デフォルトはmaximize_minimum_recall
です。 downsample_factor
- (ダブル)高度な設定オプション。重みへの収縮を適用します。小さい値は、より良い一般化誤差を持つ大きな森林をもたらします。しかし、大きな森林はトレーニングを遅くします。収縮に関する詳細は、このウィキ記事を参照してください。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。0.001から1の間の値である必要があります。
eta_growth_rate_per_tree
- (ダブル)高度な設定オプション。森林に追加される各新しいツリーに対して
eta
が増加する割合を指定します。たとえば、1.05の割合は、各追加ツリーに対してeta
を5%増加させます。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。0.5から2の間である必要があります。 feature_bag_fraction
- (ダブル)高度な設定オプション。各候補分割のためにランダムバッグを選択する際に使用される特徴の割合を定義します。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。
gamma
- (ダブル)高度な設定オプション。トレーニングデータセットでの過剰適合を防ぐための正則化パラメータ。森林内の個々のツリーのサイズに関連する線形ペナルティを乗算します。高いガンマ値は、トレーニングが小さなツリーを好む原因となります。小さなガンマ値は、より大きな個々のツリーと遅いトレーニングをもたらします。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。非負の値である必要があります。
lambda
- (ダブル)高度な設定オプション。トレーニングデータセットでの過剰適合を防ぐための正則化パラメータ。森林内の個々のツリーの葉の重みに適用されるL2正則化項を乗算します。高いラムダ値は、トレーニングが小さな葉の重みを好む原因となります。この動作は、特徴と従属変数間の関連関係をキャプチャできない可能性がある代償で、予測関数を滑らかにします。小さなラムダ値は、大きな個々のツリーと遅いトレーニングをもたらします。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。非負の値である必要があります。
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
の場合、外れ値スコアを計算する前に列に対して次の操作が実行されます:(xi - mean(x_i)) / sd(x_i)。デフォルトはtrue
です。この概念の詳細については、[Wikipedia](https://en.wikipedia.org/wiki/Feature_scaling#Standardization(Z-score_Normalization)を参照してください。
timestamp
- (日付)統計が報告されたタイムスタンプ(エポックからのミリ秒)。
timing_stats
- (オブジェクト)データフレーム分析ジョブに関する時間統計を含むオブジェクト。
timing_stats
のプロパティelapsed_time
- (整数)分析の実行時間(ミリ秒)。
regression_stats
- (オブジェクト)回帰分析ジョブに関する情報を含むオブジェクト。
regression_stats
のプロパティ hyperparameters
- (オブジェクト)回帰分析ジョブのパラメータを含むオブジェクト。
hyperparameters
のプロパティalpha
- (ダブル)高度な設定オプション。機械学習は損失ガイドツリー成長を使用し、これは正則化損失が最も早く減少する場所で決定木が成長することを意味します。このパラメータは、ツリーの深さの乗数として機能することにより、損失計算に影響を与えます。高いアルファ値は浅いツリーと迅速なトレーニング時間をもたらします。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。0以上である必要があります。
downsample_factor
- (ダブル)高度な設定オプション。ツリーのトレーニングのために損失関数の導関数を計算するために使用されるデータの割合を制御します。小さい値は、小さなデータの割合を使用することをもたらします。この値が1未満に設定されている場合、精度は通常向上します。ただし、値が小さすぎるとアンサンブルの収束が悪くなり、より多くのツリーが必要になる場合があります。収縮に関する詳細は、このウィキ記事を参照してください。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。0より大きく、1以下である必要があります。
eta
- (ダブル)高度な設定オプション。重みへの収縮を適用します。小さい値は、より良い一般化誤差を持つ大きな森林をもたらします。しかし、大きな森林はトレーニングを遅くします。収縮に関する詳細は、このウィキ記事を参照してください。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。0.001から1の間の値である必要があります。
eta_growth_rate_per_tree
- (ダブル)高度な設定オプション。森林に追加される各新しいツリーに対して
eta
が増加する割合を指定します。たとえば、1.05の割合は、各追加ツリーに対してeta
を5%増加させます。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。0.5から2の間である必要があります。 feature_bag_fraction
- (ダブル)高度な設定オプション。各候補分割のためにランダムバッグを選択する際に使用される特徴の割合を定義します。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。
gamma
- (ダブル)高度な設定オプション。トレーニングデータセットでの過剰適合を防ぐための正則化パラメータ。森林内の個々のツリーのサイズに関連する線形ペナルティを乗算します。高いガンマ値は、トレーニングが小さなツリーを好む原因となります。小さなガンマ値は、より大きな個々のツリーと遅いトレーニングをもたらします。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。非負の値である必要があります。
lambda
- (ダブル)高度な設定オプション。トレーニングデータセットでの過剰適合を防ぐための正則化パラメータ。森林内の個々のツリーの葉の重みに適用されるL2正則化項を乗算します。高いラムダ値は、トレーニングが小さな葉の重みを好む原因となります。この動作は、特徴と従属変数間の関連関係をキャプチャできない可能性がある代償で、予測関数を滑らかにします。小さなラムダ値は、大きな個々のツリーと遅いトレーニングをもたらします。デフォルトでは、この値はハイパーパラメータ最適化中に計算されます。非負の値である必要があります。
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
- (整数)分析中にスキップされたドキュメントの数。これらのドキュメントは、分析によってサポートされていない値を含んでいました。たとえば、外れ値検出は欠損フィールドをサポートしていないため、欠損フィールドを含むドキュメントをスキップします。同様に、すべてのタイプの分析は、1つ以上の要素を含む配列を含むドキュメントをスキップします。
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は、外れ値検出データフレーム分析ジョブの例の使用情報を取得します:
Python
resp = client.ml.get_data_frame_analytics_stats(
id="weblog-outliers",
)
print(resp)
Ruby
response = client.ml.get_data_frame_analytics_stats(
id: 'weblog-outliers'
)
puts response
Js
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
}
}
}
}
]
}