DatasetDefinition - グローバル

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:6分
  • DatasetDefinition API は、識別するメソッドを提供しますML トレーニングアルゴリズムの入力として使用する、テーブル名、列、行選択基準を含む一連のレコード。データセットには実際のデータは含まれていません。

    この API には 予測インテリジェンス プラグイン (com.glide.platform_ml) が必要で、 sn_ml 名前空間内で提供されます。 詳細については、「 予測インテリジェンス」を参照してください。

    データセットを使用して相互情報 PredictabilityEstimate を推定したり、 エンコーダーによって指定されたデータをトレーニングしたりします。データセットを使用して、次のいずれかのソリューションタイプで指定されたデータをトレーニングすることもできます。

    使用上のガイドラインについては、「 ML API の使用」を参照してください。

    DatasetDefinition:DatasetDefinition(オブジェクト)

    DatasetDefinition クラスのインスタンスを作成し、テーブル名、フィールド、およびクエリでデータセットを定義できるようにします。

    テーブルとフィールドのリストを渡して、データセット定義を作成します。クエリを渡して、特定の特性を持つ行を含めるようにデータセットを制限することもできます。

    一度作成した DatasetDefinition オブジェクトは変更できません。

    表 : 1. パラメーター
    名前 タイプ 説明
    構成 オブジェクト データセット定義プロパティを含む JavaScript オブジェクト。
    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }
    config.tableName 文字列 データセットのテーブルの名前。たとえば、「 tableName」:「インシデント」です。
    config.fieldNames アレイ オプション。 指定されたテーブルのフィールド名を文字列としてリストします。例:"fieldNames" : ["short_description", "priority"]。

    デフォルト:すべてのフィールド

    config.fieldDetails アレイ オプション。 フィールドのプロパティを指定する JavaScript オブジェクトのリスト。

    このプロパティを使用して、機械学習アルゴリズムでフィールドを特定のタイプとして解釈させます。fieldNamesプロパティにリストされているすべてのフィールドの詳細を取得する必要はありません。すべての詳細は、 fieldNames アレイにリストされているフィールドに対応する必要があります。

    [
      {
        "name": "String",
        "type": "String"
      }
    ]
    config.fieldDetails.name 文字列 このデータセットを制限する情報のタイプを定義するフィールドの名前。 使用する場合、このフィールド名は fieldNames プロパティにリストされている対応する名前と一致する必要があります。
    config.fieldDetails.type 文字列 機械学習フィールドタイプ。 データタイプを指定すると、ML トレーナーはフィールドをそのタイプを持つものとして解釈します。データタイプが指定されていない場合は、システムによってタイプが決定されます。
    サポートされているタイプ:
    • nominal:ML では、このフィールドはクラスまたはカテゴリを含むと解釈されます。
    • numeric:ML では、このフィールドは数値を含むと解釈されます。
    • text:ML では、このフィールドはテキストを含むものとして解釈されます。

    これらのタイプは、機械学習の観点からデータタイプを識別します。ML タイプは、ソーステーブルにリストされているタイプとは異なる場合があります。フィールドは文字列タイプにすることができますが、その目的は公称値をエンコードすることです。たとえば、「XL」、「L」、「M」などの T シャツサイズはテーブル内の文字列タイプですが、各値は ML の観点から見た名目上の属性のカテゴリを表します。

    config.encodedQuery 文字列 オプション。 標準の Glide 形式でエンコードされたクエリ文字列。「 エンコードされたクエリ文字列」を参照してください。

    クエリは、絶対または相対にビルドできます。たとえば、クエリは過去 3 か月間の行 (相対) や 5 月から 7 月までの期間 (絶対) を返すことができます。絶対パターンまたは相対パターンのどちらを使用する場合でも、基礎となるテーブルの行が変更されると、定義が識別するデータが変更される可能性があります。

    次の例は、データセット定義の作成方法を示しています。

    var myData = new sn_ml.DatasetDefinition(
      { 
         'tableName' : 'incident', 
         'fieldNames' : ['category', 'short_description', 'priority', 'assignment_group.name'],
         'fieldDetails' : [
           {
             'name' : 'category',
             'type' : 'nominal'
           },
           {
             'name' : 'short_description',
             'type' : 'text'
           }], 
         'encodedQuery' : 'sys_created_onONLast%202%20quarters@javascript:gs.beginningOfLast2Quarters()@javascript:gs.endOfLast2Quarters()^state=3'
      });

    DatasetDefinition:getEligibleFields(文字列機能)

    分類ソリューションなど、指定された機能のソリューションに関して、入力フィールド (機能) または予測フィールドのいずれかとして適格なフィールドのリストを返します。適格性は、適切な Glide データタイプを持つフィールドに基づいて決定されます。

    表 : 2. パラメーター
    名前 タイプ 説明
    capability 文字列 トレーニングの対象となるフィールドを取得する機能。このメソッドは現在、分類ソリューションのみをサポートしています。機能の他の値はすべて「サポートされていない機能」例外をスローします。

    有効な値:「 classification」

    表 : 3. 戻り値
    タイプ 説明
    オブジェクト 対象となる入力フィールド名と対象となる出力フィールド名を含むオブジェクト。
    {	 
      "eligibleInputFieldNames" : [Array],
      "eligibleOutputFieldNames" : [Array] 
    }
    <Object>.eligibleInputFieldNames トレーニングの対象となる入力フィールドを示す文字列のリスト。

    データタイプ:アレイ

    <Object>.eligibleOutputFieldNames トレーニングの対象となる出力フィールドを示す文字列のリスト。

    データタイプ:アレイ

    次の例は、分類ソリューションの対象となるフィールドを表示する方法を示しています。

    var myIncidentData = new sn_ml.DatasetDefinition({
      'tableName' : 'incident',
      'encodedQuery' : 'activeANYTHING'
    });
    
    var eligibleFields = JSON.parse(myIncidentData.getEligibleFields('classification'));
    
    gs.print(JSON.stringify(eligibleFields, null, 2));

    出力:

    {
      "eligibleInputFieldNames": [
        "resolved_by",
        "short_description",
        "description",
        "notify"
      ],
      "eligibleOutputFieldNames": [
        "parent",
        "caused_by",
        "location",
        "category"
      ]
    }