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數組,這些字符串表示開始節點的屬性圖標籤,邊緣本身的屬性圖標籤以及結束節點的屬性圖標籤(S),如下所示:

"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陣列表示,該數字加起來最多為一:

"split_rate": [0.7, 0.1, 0.2]

如果您未提供選擇性split_rate欄位,則預設估計值[0.9, 0.1, 0.0]用於分類和回歸工作,以及連結[0.9,0.05, 0.05]預測工作。

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

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

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

"separator": "|"

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

RDF目標物件中的欄位

RDF目標物件中的node欄位

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

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

一個只RDFnode能採取一個值,如下所示:

"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陣列表示,該數字加起來最多為一:

"split_rate": [0.7, 0.1, 0.2]

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