neptune_ml 对象中的 targets 字段 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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]