データフレーム分析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_mlmachine_learning_user ビルトインロールがこの権限を付与します)
  • ソースインデックス: read, view_index_metadata

説明

このAPIは、既存のデータフレーム分析設定またはまだ作成されていない設定についての説明を提供します。以下の説明が提供されます:

  • 分析に含まれるフィールドと含まれないフィールド、その理由
  • 必要とされるメモリの推定量。この推定値は、後でmodel_memory_limit設定の適切な値を決定する際に使用できます。

オブジェクトフィールドやソースフィルタリングによって除外されたフィールドは、説明に含まれません。

パスパラメータ

  • <data_frame_analytics_id>
  • (オプション、文字列)データフレーム分析ジョブの識別子。

リクエストボディ

データフレーム分析ジョブの作成で説明されているデータフレーム分析設定。iddestは、このAPIの文脈では提供する必要はありません。

レスポンスボディ

APIは、以下を含むレスポンスを返します:

  • field_selection
  • (配列)フィールド名でソートされた各フィールドの選択を説明するオブジェクトの配列。
    1. - `````is_included
    • (ブール値)フィールドが分析に含まれるように選択されているかどうか。
    • is_required
    • (ブール値)フィールドが必須かどうか。
    • feature_type
    • (文字列)このフィールドの分析における特徴タイプ。categoricalまたはnumericalの可能性があります。
    • mapping_types
    • (文字列)フィールドのマッピングタイプ。
    • name
    • (文字列)フィールド名。
    • reason
    • (文字列)フィールドが分析に含まれない理由。
  • memory_estimation
  • (オブジェクト)メモリ推定を含むオブジェクト。
    1. - `````expected_memory_with_disk
    • (文字列)ディスクへのオーバーフローが許可されているという仮定の下での推定メモリ使用量。expected_memory_with_diskは通常、expected_memory_without_diskよりも小さく、ディスクを使用することでデータフレーム分析を行うために必要な主メモリを制限できます。
    • expected_memory_without_disk
    • (文字列)すべてのデータフレーム分析がメモリ内で行われるべきであるという仮定の下での推定メモリ使用量(つまり、ディスクへのオーバーフローなし)。

Python

  1. resp = client.ml.explain_data_frame_analytics(
  2. source={
  3. "index": "houses_sold_last_10_yrs"
  4. },
  5. analysis={
  6. "regression": {
  7. "dependent_variable": "price"
  8. }
  9. },
  10. )
  11. print(resp)

Js

  1. const response = await client.ml.explainDataFrameAnalytics({
  2. source: {
  3. index: "houses_sold_last_10_yrs",
  4. },
  5. analysis: {
  6. regression: {
  7. dependent_variable: "price",
  8. },
  9. },
  10. });
  11. console.log(response);

コンソール

  1. POST _ml/data_frame/analytics/_explain
  2. {
  3. "source": {
  4. "index": "houses_sold_last_10_yrs"
  5. },
  6. "analysis": {
  7. "regression": {
  8. "dependent_variable": "price"
  9. }
  10. }
  11. }

APIは以下の結果を返します:

コンソール-結果

  1. {
  2. "field_selection": [
  3. {
  4. "field": "number_of_bedrooms",
  5. "mappings_types": ["integer"],
  6. "is_included": true,
  7. "is_required": false,
  8. "feature_type": "numerical"
  9. },
  10. {
  11. "field": "postcode",
  12. "mappings_types": ["text"],
  13. "is_included": false,
  14. "is_required": false,
  15. "reason": "[postcode.keyword] is preferred because it is aggregatable"
  16. },
  17. {
  18. "field": "postcode.keyword",
  19. "mappings_types": ["keyword"],
  20. "is_included": true,
  21. "is_required": false,
  22. "feature_type": "categorical"
  23. },
  24. {
  25. "field": "price",
  26. "mappings_types": ["float"],
  27. "is_included": true,
  28. "is_required": true,
  29. "feature_type": "numerical"
  30. }
  31. ],
  32. "memory_estimation": {
  33. "expected_memory_without_disk": "128MB",
  34. "expected_memory_with_disk": "32MB"
  35. }
  36. }