neptune_ml 物件中的 targets 欄位 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

neptune_ml 物件中的 targets 欄位

JSON 訓練資料匯出組態中的 targets 欄位包含目標物件的陣列,這些物件會指定訓練任務,以及用於訓練此任務的機器學習類別標籤。目標物件的內容會有所不同,取決於您是在屬性圖資料還是 RDF 資料上進行訓練。

對於屬性圖節點分類和迴歸任務,陣列中的目標物件可能如下所示:

{ "node": "(node property-graph label)", "property": "(property name)", "type" : "(used to specify classification or regression)", "split_rate": [0.8,0.2,0.0], "separator": "," }

對於屬性圖邊緣分類,迴歸或連結預測任務,它們可以如下所示:

{ "edge": "(edge property-graph label)", "property": "(property name)", "type" : "(used to specify classification, regression or link_prediction)", "split_rate": [0.8,0.2,0.0], "separator": "," }

對於 RDF 分類和迴歸任務,陣列中的目標物件可能如下所示:

{ "node": "(node type of an RDF node)", "predicate": "(predicate IRI)", "type" : "(used to specify classification or regression)", "split_rate": [0.8,0.2,0.0] }

對於 RDF 連結預測任務,陣列中的目標物件可以如下所示:

{ "subject": "(source node type of an edge)", "predicate": "(relation type of an edge)", "object": "(destination node type of an edge)", "type" : "link_prediction", "split_rate": [0.8,0.2,0.0] }

目標物件可以包含下列欄位:

屬性圖目標物件中的欄位

目標物件中的 node (頂點) 欄位

目標節點 (頂點) 的屬性圖標籤。目標物件必須包含 node 元素或 edge 元素,但不能同時包含兩者。

node 可以採取單一值,如下所示:

"node": "Movie"

或者,在多標籤頂點的情況下,它可以採取值陣列,如下所示:

"node": ["Content", "Movie"]

屬性圖目標物件中的 edge 欄位

透過其起始節點標籤、自己的標籤及其結束節點標籤來指定目標邊緣。目標物件必須包含 edge 元素或 node 元素,但不能同時包含兩者。

edge 欄位的值是一個 JSON 陣列,由三個字串組成,這些字串代表起始節點的屬性圖標籤、邊緣本身的屬性圖標籤,以及結束節點的屬性圖標籤,如下所示:

"edge": ["Person_A", "knows", "Person_B"]

如果起始節點和/或結束節點有多個標籤,請以陣列括住它們,如下所示:

"edge": [ ["Admin", Person_A"], "knows", ["Admin", "Person_B"] ]

屬性圖目標物件中的 property 欄位

指定目標頂點或邊緣的屬性,如下所示:

"property" : "rating"

除了目標任務為連結預測時,此欄位都為必要的。

屬性圖目標物件中的 type 欄位

指出要在 nodeedge 上執行的目標任務類型,如下所示:

"type" : "regression"

節點支援的任務類型如下:

  • classification

  • regression

邊緣支援的任務類型如下:

  • classification

  • regression

  • link_prediction

此欄位為必填。

屬性圖目標物件中的 split_rate 欄位

(選用) 訓練、驗證和測試階段將分別使用的節點或邊緣比例估計。這些比例是以 JSON 陣列表示,該陣列由介於零與一之間的三個數字組成,加起來最多為 1:

"split_rate": [0.7, 0.1, 0.2]

如果您未提供選用 split_rate 欄位,則預設估計值為 [0.9, 0.1, 0.0]

屬性圖目標物件中的 separator 欄位

(選用) 搭配分類任務使用。

separator 欄位會指定一個字元,用來在其用來將多個類別值儲存在字串中時,將目標屬性值分割為多個類別值。例如:

"separator": "|"

separator 欄位的存在表示任務是多目標分類任務。

RDF 目標物件中的欄位

RDF 目標物件中的 node 欄位

定義目標節點的節點類型。與節點分類任務或節點迴歸任務搭配使用。RDF 中節點的節點類型,其定義方式如下:

node_id, <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, node_type

RDF node 只能採取單一值,如下所示:

"node": "http://aws.amazon.com/neptune/csv2rdf/class/Movie"

RDF 目標物件中的 subject 欄位

對於連結預測任務,subject 定義目標邊緣的來源節點類型。

"subject": "http://aws.amazon.com/neptune/csv2rdf/class/Director"
注意

對於連結預測任務,subject 應同時與 predicateobject 搭配使用。如果未提供這三個的任一個,則會將所有邊緣視為訓練目標。

RDF 目標物件中的 predicate 欄位

對於節點分類和節點迴歸任務,predicate 定義要使用哪個常值資料做為目標節點的目標節點特徵。

"predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/genre"
注意

如果目標節點只有一個定義目標節點特徵的述詞,則可以省略 predicate 欄位。

對於連結預測任務,predicate 定義目標邊緣的關聯類型:

"predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/direct"
注意

對於連結預測任務,predicate 應同時與 subjectobject 搭配使用。如果未提供這三個的任一個,則會將所有邊緣視為訓練目標。

RDF 目標物件中的 object 欄位

對於連結預測任務,object 定義目標邊緣的目的地節點類型:

"object": "http://aws.amazon.com/neptune/csv2rdf/class/Movie"
注意

對於連結預測任務,object 應同時與 subjectpredicate 搭配使用。如果未提供這三個的任一個,則會將所有邊緣視為訓練目標。

RDF 目標物件中的 type 欄位

指示要執行的目標任務類型,如下所示:

"type" : "regression"

RDF 資料支援的任務類型如下:

  • link_prediction

  • classification

  • regression

此欄位為必填。

屬性圖目標物件中的 split_rate 欄位

(選用) 訓練、驗證和測試階段將分別使用的節點或邊緣比例估計。這些比例是以 JSON 陣列表示,該陣列由介於零與一之間的三個數字組成,加起來最多為 1:

"split_rate": [0.7, 0.1, 0.2]

如果您未提供選用 split_rate 欄位,則預設估計值為 [0.9, 0.1, 0.0]