neptune_ml 对象中的目标字段 - Amazon Neptune

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

neptune_ml 对象中的目标字段

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 元素或一个 edge 元素,但不能同时包含两者。

node 可以取一个单一值,如下所示:

"node": "Movie"

或者,对于多标签顶点,它可以采用一个值数组,如下所示:

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

属性图目标对象中的边缘字段

通过目标边缘的起始节点标签、其自己的标签和其结束节点标签来指定目标边缘。目标对象必须包含一个 edge 元素或一个 node 元素,但不能同时包含两者。

edge字段的值是一个由三个字符串组成的JSON数组,它们代表起始节点的属性图标签、边缘本身的属性图标签以及结束节点的属性图标签,如下所示:

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

如果起始节点和/或结束节点有多个标签,请将它们括在数组中,如下所示:

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

属性图目标对象中的属性字段

指定目标顶点或边缘的属性,如下所示:

"property" : "rating"

除非目标任务是链接预测,否则此字段为必需字段。

属性图目标对象中的类型字段

表示要在 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 字段的存在表示该任务是一项多目标分类任务。

RDF目标对象中的字段

RDF目标对象中的节点字段

定义目标节点的节点类型。与节点分类任务或节点回归任务一起使用。中节点的节点类型由以下方式定义: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": "http://aws.amazon.com/neptune/csv2rdf/class/Director"
注意

对于链接预测任务,subject 应与 predicateobject 一起使用。如果未提供这三者中的任何一个,则所有边缘都将被视为训练目标。

RDF目标对象中的谓词字段

对于节点分类和节点回归任务,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": "http://aws.amazon.com/neptune/csv2rdf/class/Movie"
注意

对于链接预测任务,object 应与 subjectpredicate 一起使用。如果未提供这三者中的任何一个,则所有边缘都将被视为训练目标。

RDF目标对象中的类型字段

表示要执行的目标任务的类型,如下所示:

"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]