モデルトレーニング設定を調整する additionalParams ために でパラメータを使用する例 - Amazon Neptune

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

モデルトレーニング設定を調整する additionalParams ために でパラメータを使用する例

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

additionalParams を使用したプロパティグラフの例

モデルトレーニングコン構成のデフォルトの分割レートの指定

次の例で、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": [ (...) ] } }

モデルトレーニング構成のノード分類タスクの指定

トレーニング目的でラベル付きの例が含まれているノードプロパティがどれかを示すには、ノード分類要素を 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": [ (...) ] } }

モデルトレーニング構成のマルチクラスノード分類タスクの指定

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

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

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

モデルトレーニング構成のノード回帰タスクの指定

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

次の 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": [ ... ] } }

モデルトレーニング構成のエッジ分類タスクの指定

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

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

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

モデルトレーニング構成のマルチクラスエッジ分類タスクの指定

トレーニング目的で複数のラベル付き例が含まれているエッジプロパティを指定するには、エッジ要素を 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": [ (...) ] } }

モデルトレーニング構成のエッジ回帰の指定

トレーニング目的のラベル付き回帰の例が含まれているエッジプロパティがどれかを示すには、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": [ (...) ] } }

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

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

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

数値バケット特徴の指定

ノードプロパティの数値データ特徴を指定するには、"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 特徴の指定

"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 特徴の指定

"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 特徴の指定

"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 特徴の指定

"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 特徴の指定

エクスポートプロセスにより、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 特徴の指定

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

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

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

numerical 特徴の指定

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

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

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

auto 特徴の指定

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

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

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

RDF を使用した例 additionalParams

モデルトレーニングコン構成のデフォルトの分割レートの指定

次の例で、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": [ (...) ] } }

モデルトレーニング構成のノード分類タスクの指定

トレーニング目的のラベル付きの例が含まれているノードプロパティがどれかを示すには、ノード分類要素を 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] } ] } }

モデルトレーニング構成のノード回帰タスクの指定

トレーニング目的でラベル付きの例が含まれているノードプロパティがどれかを示すには、"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] } ] } }

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

次の edge ターゲットは、DirectorsMovies に接続する 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" } ] } }

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

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