

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# モデルトレーニング構成のチューニング用に additionalParams 内のパラメータを使用する例
<a name="machine-learning-data-export-additionalParams-examples"></a>

 次の例は、プロパティグラフおよび RDF データモデルで「additionalParams」機能を使用して、Neptune ML アプリケーションのモデルトレーニングプロセスのさまざまな側面を設定する方法を示しています。この例では、training/validation/test データのデフォルトの分割レートの指定、ノード分類、リグレッション、リンク予測タスクの定義、数値バケット、テキスト埋め込み、日時、カテゴリ別データなどのさまざまな機能タイプの設定など、さまざまな機能について説明します。これらの詳細な設定により、機械学習パイプラインを特定のデータとモデリング要件に合わせて調整し、Neptune ML 機能の可能性を最大限に引き出すことができます。

**Contents**
+ [additionalParams を使用したプロパティグラフの例](#machine-learning-property-graph-additionalParams-examples)
  + [モデルトレーニングコン構成のデフォルトの分割レートの指定](#machine-learning-property-graph-additionalParams-default-split-rate-example)
  + [モデルトレーニング構成のノード分類タスクの指定](#machine-learning-property-graph-additionalParams-node-classification-example)
  + [モデルトレーニング構成のマルチクラスノード分類タスクの指定](#machine-learning-property-graph-additionalParams-multi-class-example)
  + [モデルトレーニング構成のノードリグレッションタスクの指定](#machine-learning-property-graph-additionalParams-node-regression-example)
  + [モデルトレーニング構成のエッジ分類タスクの指定](#machine-learning-property-graph-additionalParams-edge-classification-example)
  + [モデルトレーニング構成のマルチクラスエッジ分類タスクの指定](#machine-learning-property-graph-additionalParams-multi-edge-classification-example)
  + [モデルトレーニング構成のエッジリグレッションの指定](#machine-learning-property-graph-additionalParams-edge-regression-example)
  + [モデルトレーニング構成のノード回帰タスクの指定](#machine-learning-property-graph-additionalParams-link-prediction-example)
  + [数値バケット特徴の指定](#machine-learning-property-graph-additionalParams-numeric-bucket-example)
  + [`Word2Vec` 特徴の指定](#machine-learning-property-graph-additionalParams-word2vec-example)
  + [`FastText` 特徴の指定](#machine-learning-property-graph-additionalParams-fasttext-example)
  + [`Sentence BERT` 特徴の指定](#machine-learning-property-graph-additionalParams-sbert-example)
  + [`TF-IDF` 特徴の指定](#machine-learning-property-graph-additionalParams-tf-idf-example)
  + [`datetime` 特徴の指定](#machine-learning-property-graph-additionalParams-datetime-example)
  + [`category` 特徴の指定](#machine-learning-property-graph-additionalParams-category-example)
  + [`numerical` 特徴の指定](#machine-learning-property-graph-additionalParams-numerical-example)
  + [`auto` 特徴の指定](#machine-learning-property-graph-additionalParams-auto-example)
+ [`additionalParams` を使用した RDF の例](#machine-learning-RDF-additionalParams-examples)
  + [モデルトレーニングコン構成のデフォルトの分割レートの指定](#machine-learning-RDF-additionalParams-default-split-rate-example)
  + [モデルトレーニング構成のノード分類タスクの指定](#machine-learning-RDF-additionalParams-node-classification-example)
  + [モデルトレーニング構成のノードリグレッションタスクの指定](#machine-learning-RDF-additionalParams-node-regression-example)
  + [特定のエッジのリンク予測タスクの指定](#machine-learning-RDF-additionalParams-link-prediction-example)
  + [すべてのエッジのリンク予測タスクの指定](#machine-learning-RDF-additionalParams-link-prediction-example)

## additionalParams を使用したプロパティグラフの例
<a name="machine-learning-property-graph-additionalParams-examples"></a>

### モデルトレーニングコン構成のデフォルトの分割レートの指定
<a name="machine-learning-property-graph-additionalParams-default-split-rate-example"></a>

次の例で、`split_rate` パラメーターは、モデルトレーニングの既定の分割率を設定します。デフォルトの分割レートが指定されていない場合、トレーニングでは [0.9, 0.1, 0.0] の値が使用されます。ターゲット単位でデフォルト値を上書きするには、各ターゲットに対して `split_rate` を指定します。

次の例は、`default split_rate` フィールドは、ターゲット単位で上書きしない限り `[0.7,0.1,0.2]` の分割レートが使用されることを示します。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "split_rate": [0.7,0.1,0.2],
    "targets": [
      (...)
    ],
    "features": [
      (...)
    ]
  }
}
```

### モデルトレーニング構成のノード分類タスクの指定
<a name="machine-learning-property-graph-additionalParams-node-classification-example"></a>

トレーニング目的でラベル付きの例が含まれているノードプロパティがどれかを示すには、ノード分類要素を `targets` 配列に追加し、`"type" : "classification"` を使用します。デフォルトの分割レートを上書きする場合は、`split_rate` フィールドをの追加します。

次の例で、`node` ターゲットは、各 `Movie` ノードの `genre` プロパティはノードクラスラベルとして扱われることを示しています。`split_rate` 値は、デフォルトの分割レートを上書きします。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "Movie",
        "property": "genre",
        "type": "classification",
        "split_rate": [0.7,0.1,0.2]
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### モデルトレーニング構成のマルチクラスノード分類タスクの指定
<a name="machine-learning-property-graph-additionalParams-multi-class-example"></a>

トレーニング目的で複数のラベル付き例が含まれているノードプロパティがどれかを示すには、次のようにしてターゲット配列にノード分類要素を追加します。`"type" : "classification"`、および `separator` を使用し、ターゲットプロパティ値を複数のカテゴリ値に分割するために使用できる文字を指定します。デフォルトの分割レートを上書きする場合は、`split_rate` フィールドをの追加します。

次の例で、`node` ターゲットは、各 `Movie` ノードの `genre` プロパティはノードクラスラベルとして扱われることを示しています。`separator` フィールドは、各ジャンルプロパティに複数のセミコロン区切り値が含まれていることを示します。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "Movie",
        "property": "genre",
        "type": "classification",
        "separator": ";"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### モデルトレーニング構成のノードリグレッションタスクの指定
<a name="machine-learning-property-graph-additionalParams-node-regression-example"></a>

トレーニング目的でラベル付きのリグレッションが含まれているノードプロパティがどれかを示すには、`"type" : "regression"` を使用してノード分類要素をターゲット配列に追加します。デフォルトの分割レートを上書きする場合は、split\$1rate フィールドを追加します。

次の `node` ターゲットは、各 `rating` ノードの `Movie` プロパティはリグレッションラベルとして扱われることを示しています。

```
    "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "Movie",
        "property": "rating",
        "type" : "regression",
        "split_rate": [0.7,0.1,0.2]
      }
    ],
    "features": [
      ...
    ]
  }
}
```

### モデルトレーニング構成のエッジ分類タスクの指定
<a name="machine-learning-property-graph-additionalParams-edge-classification-example"></a>

トレーニング目的のラベル付きの例が含まれているエッジプロパティがどれかを示すには、エッジ要素を `targets` 配列に追加し、`"type" : "regression"` を使用します。デフォルトの分割レートを上書きする場合は、split\$1rate フィールドを追加します。

次の `edge` ターゲットは、各 `knows` エッジの `metAtLocation` プロパティはエッジクラスラベルとして扱われることを示しています。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Person", "knows", "Person"],
        "property": "metAtLocation",
        "type": "classification"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### モデルトレーニング構成のマルチクラスエッジ分類タスクの指定
<a name="machine-learning-property-graph-additionalParams-multi-edge-classification-example"></a>

トレーニング目的で複数のラベル付き例が含まれているエッジプロパティを指定するには、エッジ要素を `targets` 配列に追加し、`"type" : "classification"`、および `separator` フィールドを使用して、ターゲットプロパティ値を複数のカテゴリ値に分割するために使用される文字を指定します。デフォルトの分割レートを上書きする場合は、`split_rate` フィールドをの追加します。

次の `edge` ターゲットは、各 `repliedTo` エッジの `sentiment` プロパティはエッジクラスラベルとして扱われることを示しています。区切りフィールドは、各センチメントプロパティに複数のカンマ区切り値が含まれていることを示します。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Person", "repliedTo", "Message"],
        "property": "sentiment",
        "type": "classification",
        "separator": ","
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### モデルトレーニング構成のエッジリグレッションの指定
<a name="machine-learning-property-graph-additionalParams-edge-regression-example"></a>

トレーニング目的のラベル付きリグレッションの例が含まれているエッジプロパティがどれかを示すには、`edge` 要素を `targets` 配列に追加し、`"type" : "regression"` を使用します。デフォルトの分割レートを上書きする場合は、`split_rate` フィールドをの追加します。

次の `edge` ターゲットは、各 `rating` エッジの `reviewed` プロパティはエッジリグレッションとして扱われることを示しています。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Person", "reviewed", "Movie"],
        "property": "rating",
        "type" : "regression"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### モデルトレーニング構成のノード回帰タスクの指定
<a name="machine-learning-property-graph-additionalParams-link-prediction-example"></a>

リンク予測トレーニングの目的でどのエッジが使用されるかを示すには、`"type" : "link_prediction"` を使用してターゲット配列にエッジ要素を追加します。デフォルトの分割レートを上書きする場合は、`split_rate` フィールドをの追加します。

次の `edge` ターゲットは、`cites` エッジがリンク予測に使用されることを示しています。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Article", "cites", "Article"],
        "type" : "link_prediction"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### 数値バケット特徴の指定
<a name="machine-learning-property-graph-additionalParams-numeric-bucket-example"></a>

ノードプロパティの数値データ特徴を指定するには、`"type": "bucket_numerical"` を `features` 配列に追加します。

次の `node` 特徴は、それぞれの `Person` ノード の `age` プロパティが数値バケット特徴として処理されることを示しています。

```
  "additionalParams": {
  "neptune_ml": {
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Person",
        "property": "age",
        "type": "bucket_numerical",
        "range": [1, 100],
        "bucket_cnt": 5,
        "slide_window_size": 3,
        "imputer": "median"
      }
    ]
  }
}
```

### `Word2Vec` 特徴の指定
<a name="machine-learning-property-graph-additionalParams-word2vec-example"></a>

`"type": "text_word2vec"` を `features` 配列に追加することでノードプロパティの `Word2Vec` 特徴を指定できます。

次の `node` 特徴は、それぞれの `Movie` ノード の `description` プロパティが `Word2Vec` 特徴として処理されることを示しています。

```
"additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "description",
        "type": "text_word2vec",
        "language": "en_core_web_lg"
      }
    ]
  }
}
```

### `FastText` 特徴の指定
<a name="machine-learning-property-graph-additionalParams-fasttext-example"></a>

`"type": "text_fasttext"` を `features` 配列に追加することでノードプロパティの `FastText` 特徴を指定できます。`language` フィールドは必須であり、次のいずれかの言語コードを指定する必要があります。
+ `en`   (英語)
+ `zh`   (中国語)
+ `hi`   (ヒンディー語)
+ `es`   (スペイン語)
+ `fr`   (フランス語)

`text_fasttext` エンコーディングでは、1 つの機能で同時に複数の言語を処理できないことに注意してください。

次の `node` 機能は、それぞれの `Movie` ノード のフランス語の `description` プロパティが `FastText` 機能として処理されることを示しています。

```
"additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "description",
        "type": "text_fasttext",
        "language": "fr",
        "max_length": 1024
      }
    ]
  }
}
```

### `Sentence BERT` 特徴の指定
<a name="machine-learning-property-graph-additionalParams-sbert-example"></a>

`"type": "text_sbert"` を `features` 配列に追加することでノードプロパティの `Sentence BERT` 特徴を指定できます。このメソッドは多言語言語モデルを使用してテキストフィーチャを自動的にエンコードするため、言語を指定する必要はありません。

次の `node` 特徴は、それぞれの `Movie` ノード の `description` プロパティが `Sentence BERT` 特徴として処理されることを示しています。

```
"additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "description",
        "type": "text_sbert128",
      }
    ]
  }
}
```

### `TF-IDF` 特徴の指定
<a name="machine-learning-property-graph-additionalParams-tf-idf-example"></a>

`"type": "text_tfidf"` を `features` 配列に追加することでノードプロパティの `TF-IDF` 特徴を指定できます。

次の `node` 特徴は、それぞれの `Person` ノード の `bio` プロパティが `TF-IDF` 特徴として処理されることを示しています。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "bio",
        "type": "text_tfidf",
        "ngram_range": [1, 2],
        "min_df": 5,
        "max_features": 1000
      }
    ]
  }
}
```

### `datetime` 特徴の指定
<a name="machine-learning-property-graph-additionalParams-datetime-example"></a>

エクスポートプロセスにより、`datetime` 日付プロパティの特徴が自動的に推論されます。ただし、通常は `auto` 特徴として処理されるプロパティが明示的に `datetime` 特徴として処理されるように `datetime` 特徴に使用される `datetime_parts` を制限する、または特徴仕様を上書きする場合は、`"type": "datetime"` 特徴を追加します。

次の `node` 特徴は、それぞれの `Post` ノード の `createdAt` プロパティが `datetime` 特徴として処理されることを示しています。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Post",
        "property": "createdAt",
        "type": "datetime",
        "datetime_parts": ["month", "weekday", "hour"]
      }
    ]
  }
}
```

### `category` 特徴の指定
<a name="machine-learning-property-graph-additionalParams-category-example"></a>

エクスポートプロセスにより、文字列プロパティおよび複数の値を含む数値プロパティの `auto` 特徴が自動的に推論されます。単一の値を含む数値プロパティの場合、`numerical` 特徴を推論します。します。日付のプロパティについては、`datetime` 特徴を推論します。

プロパティがカテゴリ特徴として扱われるように、特徴仕様を上書きする場合は、`"type": "category"` を特徴配列に追加します。プロパティに複数の値が含まれている場合は、`separator` フィールドを含めます。例: 

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Post",
        "property": "tag",
        "type": "category",
        "separator": "|"
      }
    ]
  }
}
```

### `numerical` 特徴の指定
<a name="machine-learning-property-graph-additionalParams-numerical-example"></a>

エクスポートプロセスにより、文字列プロパティおよび複数の値を含む数値プロパティの `auto` 特徴が自動的に推論されます。単一の値を含む数値プロパティの場合、`numerical` 特徴を推論します。します。日付のプロパティについては、`datetime` 特徴を推論します。

プロパティを `numerical` 特徴として処理するために特徴仕様を上書きしたい場合は、`"type": "numerical"` を特徴配列に追加します。プロパティに複数の値が含まれている場合は、`separator` フィールドを含めます。例: 

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Recording",
        "property": "duration",
        "type": "numerical",
        "separator": ","
      }
    ]
  }
}
```

### `auto` 特徴の指定
<a name="machine-learning-property-graph-additionalParams-auto-example"></a>

エクスポートプロセスにより、文字列プロパティおよび複数の値を含む数値プロパティの `auto` 特徴が自動的に推論されます。単一の値を含む数値プロパティの場合、`numerical` 特徴を推論します。します。日付のプロパティについては、`datetime` 特徴を推論します。

プロパティを `auto` 特徴として処理するために特徴仕様を上書きしたい場合は、`"type": "auto"` を特徴配列に追加します。プロパティに複数の値が含まれている場合は、`separator` フィールドを含めます。例: 

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "User",
        "property": "role",
        "type": "auto",
        "separator": ","
      }
    ]
  }
}
```

## `additionalParams` を使用した RDF の例
<a name="machine-learning-RDF-additionalParams-examples"></a>

### モデルトレーニングコン構成のデフォルトの分割レートの指定
<a name="machine-learning-RDF-additionalParams-default-split-rate-example"></a>

次の例で、`split_rate` パラメーターは、モデルトレーニングの既定の分割率を設定します。デフォルトの分割レートが指定されていない場合、トレーニングでは [0.9, 0.1, 0.0] の値が使用されます。ターゲット単位でデフォルト値を上書きするには、各ターゲットに対して `split_rate` を指定します。

次の例は、`default split_rate` フィールドは、ターゲット単位で上書きしない限り `[0.7,0.1,0.2]` の分割レートが使用されることを示します。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "split_rate": [0.7,0.1,0.2],
    "targets": [
      (...)
    ]
  }
}
```

### モデルトレーニング構成のノード分類タスクの指定
<a name="machine-learning-RDF-additionalParams-node-classification-example"></a>

トレーニング目的のラベル付きの例が含まれているノードプロパティがどれかを示すには、ノード分類要素を `targets` 配列に追加し、`"type" : "classification"` を使用します。ノードフィールドを追加して、ターゲットノードのノードタイプを指定します。`predicate` フィールドを追加して、ターゲットノードのターゲットノード特徴として使用されるリテラルデータを定義します。デフォルトの分割レートを上書きする場合は、`split_rate` フィールドをの追加します。

次の例で、`node` ターゲットは、各 `Movie` ノードの `genre` プロパティはノードクラスラベルとして扱われることを示しています。`split_rate` 値は、デフォルトの分割レートを上書きします。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "http://aws.amazon.com/neptune/csv2rdf/class/Movie",
        "predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/genre",
        "type": "classification",
        "split_rate": [0.7,0.1,0.2]
      }
    ]
  }
}
```

### モデルトレーニング構成のノードリグレッションタスクの指定
<a name="machine-learning-RDF-additionalParams-node-regression-example"></a>

トレーニング目的でラベル付きのリグレッションが含まれているノードプロパティがどれかを示すには、`"type" : "regression"` を使用してノード分類要素をターゲット配列に追加します。`node` フィールドを追加して、ターゲットノードのノードタイプを指定します。`predicate` フィールドを追加して、ターゲットノードのターゲットノード特徴として使用されるリテラルデータを定義します。デフォルトの分割レートを上書きする場合は、`split_rate` フィールドをの追加します。

次の `node` ターゲットは、各 `rating` ノードの `Movie` プロパティはリグレッションラベルとして扱われることを示しています。

```
    "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "http://aws.amazon.com/neptune/csv2rdf/class/Movie",
        "predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/rating",
        "type": "regression",
        "split_rate": [0.7,0.1,0.2]
      }
    ]
  }
}
```

### 特定のエッジのリンク予測タスクの指定
<a name="machine-learning-RDF-additionalParams-link-prediction-example"></a>

リンク予測トレーニングの目的に使用するエッジを指定するには、`"type" : "link_prediction"` を使用してターゲット配列にエッジ要素を追加します。`subject`、`predicate` および `object` フィールドを追加して、エッジタイプを指定します。デフォルトの分割レートを上書きする場合は、`split_rate` フィールドをの追加します。

次の `edge` ターゲットは、`Directors` を `Movies` に接続する `directed` エッジがリンク予測に使用されることを示しています。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "subject": "http://aws.amazon.com/neptune/csv2rdf/class/Director",
        "predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/directed",
        "object": "http://aws.amazon.com/neptune/csv2rdf/class/Movie",
        "type" : "link_prediction"
      }
    ]
  }
}
```

### すべてのエッジのリンク予測タスクの指定
<a name="machine-learning-RDF-additionalParams-link-prediction-example"></a>

リンク予測トレーニングの目的に使用するエッジを指定するには、`"type" : "link_prediction"` を使用してターゲット配列に `edge` 要素を追加します。`subject`、`predicate` または `object` フィールドは追加しません。デフォルトの分割レートを上書きする場合は、`split_rate` フィールドをの追加します。

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "type" : "link_prediction"
      }
    ]
  }
}
```