这些区域有:features字段中neptune_ml - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

这些区域有:features字段中neptune_ml

属性值和 RDF 文字有不同的格式和数据类型。为了在机器学习中实现良好的性能,必须将这些值转换为称为数字编码功能.

Neptune ML 将特征提取和编码作为数据导出和数据处理步骤的一部分执行,如中所述Neptune ML 中的功能编码.

对于属性图数据集,导出过程会自动推断auto字符串属性和包含倍数值的数字属性的功能。对于包含单个值的数字属性,它推断numerical功能。对于日期属性,它推断datetime功能。

如果要覆盖自动推断的功能规范,或者为属性添加存储桶数字、TF-IDF、FastText 或 SBERT 规范,则可以使用功能字段控制要素编码。

注意

您只能使用features字段来控制属性图数据的功能规格,而不是 RDF 数据的功能规范。

对于自由格式文本,Neptune ML 可以使用几种不同的模型将字符串属性值中的令牌序列转换为固定大小的实值矢量:

这些区域有:features字段包含节点属性功能的 JSON 数组。数组中的对象可以包含以下字段:

这些区域有:node字段中features

这些区域有:node字段指定要素折点的属性图标签。例如:

"node": "Person"

如果顶点有多个标签,请使用数组来包含它们。例如:

"node": ["Admin", "Person"]

这些区域有:edge字段中features

这些区域有:edge字段指定要素边的边类型。边缘类型由一个数组组成,其中包含源顶点的属性图标签、边的属性图标签和目标顶点的属性图标签。指定边要素时,必须提供所有三个值。例如:

"edge": ["User", "reviewed", "Movie"]

如果边类型的源或目标顶点具有多个标签,请使用另一个数组来包含它们。例如:

"edge": [["Admin", "Person"]. "edited", "Post"]

这些区域有:property字段中features

使用属性参数指定由node参数。例如:

"property" : "age"

可能的值type功能字段

这些区域有:type参数指定要定义的要素的类型。例如:

"type": "bucket_numerical"

可能的值type参数

  • "auto"— 指定 Neptune ML 应自动检测属性类型并应用正确的功能编码。网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的auto功能也可以有可选项separator字段中返回的子位置类型。

    请参阅 Neptune ML 中的自动功能编码

  • "category"— 此功能编码将属性值表示为许多类别之一。换句话说,该功能可以采用一个或多个离散值。一个category功能也可以有可选项separator字段中返回的子位置类型。

    请参阅 Neptune ML 中的分类功能

  • "numerical"— 此功能编码将数字属性值表示为连续间隔内的数字,其中 “大于” 和 “小于” 具有含义。

    一个numerical功能也可以有可选项normimputer, 和separator字段之间没有不同。

    请参阅 Neptune ML 中的数字特征

  • "bucket_numerical"— 此功能编码将数字属性值分成一组或类别。

    例如,您可以将人们的年龄编码为 4 个桶:孩子(0-20 岁)、年轻成年人(20-40 岁)、中年(40-60 岁)和长者(60 岁及以上)。

    一个bucket_numerical功能需要rangebucket_cnt字段,还可以选择包括imputer和/或slide_window_size字段中返回的子位置类型。

    请参阅 Neptune ML 中的存储桶数值功能

  • "datetime"— 此要素编码表示日期时间属性值,表示这些分类要素的数组:年、月、工作日和小时。

    这四个类别中的一个或多个可以使用datetime_parts参数。

    请参阅 Neptune ML 中的日期时间功能

  • "text_fasttext"— 此功能编码将由句子或自由格式文本组成的属性值转换为数字矢量fastText型号。它支持五种语言,即英语(en), 中文zh), 印地语 (hi), 西班牙语 (es) 和法语 (fr)。对于这五种语言中任何一种语言的文本属性值,text_fasttext是推荐的编码。但是,它无法处理同一句子包含一种以上语言的单词的情况。

    对于 fastText 支持的语言以外的其他语言,请使用text_sbert编码。

    如果你有许多属性值文本字符串长于(比如)120 个令牌,请使用max_length字段来限制每个字符串中的令牌数"text_fasttext"编码。

    请参阅 fastText在 Neptune ML 中编码文本属性值

  • "text_sbert"— 此编码将文本属性值转换为数字矢量句子 BERT(SBERT)模型。Neptune 支持两种 SBERT 方法,即text_sbert128,如果您只指定,则默认值text_sbert, 和text_sbert512. 它们之间的区别在于文本属性中被编码的最大标记数量。这些区域有:text_sbert128编码只对前 128 个令牌进行编码,而text_sbert512对多达 512 个代币进行编码。因此,使用text_sbert512可能需要比更长的处理时间text_sbert128. 这两种方法都比慢text_fasttext.

    这些区域有:text_sbert*方法支持多种语言,并且可以对包含多种语言的句子进行编码。

    请参阅 Neptune ML 中文本要素的句子 BERT (SBERT) 编码

  • "text_word2vec"— 此编码将文本属性值转换为数字矢量Word2Vec算法。它只支持英语。

    请参阅 Neptune ML 中文本要素的 Word2VEC 编码

  • "text_tfidf"— 此编码使用术语频率 — 反向文档频率(TF-IDF)矢量器。

    你定义的参数text_tfidf要素编码使用ngram_range字段,min_df字段中返回的子位置max_features字段中返回的子位置类型。

    请参阅 Neptune ML 中的文本要素的 TF-IDF 编码

  • "none"— 使用none类型导致不会发生任何要素编码。而是解析和保存原始属性值。

    使用none仅当您计划在自定义模型训练过程中执行自己的自定义功能编码时才能执行。

这些区域有:norm领域

对于数字功能,此字段为必填字段。它指定了在数值上使用的标准化方法:

"norm": "min-max"

支持以下标准化方法:

  • “最小-最大”— 通过从每个值中减去最小值,然后除以最大值和最小值之间的差值来标准化每个值。

  • “标准”— 通过将每个值除以所有值的总和来标准化每个值。

  • “无”— 在编码过程中不要对数值进行标准化。

请参阅 Neptune ML 中的数字特征

这些区域有:language领域

语言字段指定文本属性值中使用的语言。它的用法取决于文本编码方法:

  • 适用于text_fasttext编码时,此字段为必填字段,且必须指定以下语言之一:

    • en(简体中文)

    • zh(中文)

    • hi(印地语)

    • es(西班牙语)

    • fr(法语)

  • 适用于text_sbert编码时,不使用此字段,因为 SBERT 编码是多语言的。

  • 适用于text_word2vec编码,此字段为可选项,因为text_word2vec仅支持英语。如果存在,它必须指定英语语言模型的名称:

    "language" : "en_core_web_lg"
  • 适用于text_tfidf编码时,不使用此字段。

这些区域有:max_length领域

这些区域有:max_length字段为可选项text_fasttext要素,其中指定输入文本要素中将要编码的标记的最大数量。输入长度超过的文本max_length被截断。例如,将 max_length 设置为 128 表示文本序列中第 128 位之后的任何标记都将被忽略:

"max_length": 128

这些区域有:separator领域

此字段可选择与categorynumericalauto功能。它指定了一个可用于将属性值拆分为多个类别值或数值的字符:

"separator": ";"

只能使用separator字段,当属性将多个分隔值存储在单个字符串中时,例如"Actor;Director"要么"0.1;0.2".

请参阅分类功能数值功能, 和自动编码.

这些区域有:range领域

此字段为必填字段bucket_numerical功能。它以格式指定了要划分为存储桶的数值范围[lower-bound, upper-bound]

"range" : [20, 100]

如果属性值小于下限,则将其分配给第一个存储桶,或者如果它大于上限,则将其分配给最后一个存储桶。

请参阅 Neptune ML 中的存储桶数值功能

这些区域有:bucket_cnt领域

此字段为必填字段bucket_numerical功能。它指定了由range参数应分为:

"bucket_cnt": 10

请参阅 Neptune ML 中的存储桶数值功能

这些区域有:slide_window_size领域

此字段可选择与bucket_numerical将值分配给多个存储桶的功能:

"slide_window_size": 5

幻灯片窗口的工作方式是 Neptune ML 占用窗口大小s然后转换每个数值v属性的范围从 v - s/2 通过 v + s/2 . 然后,该值将分配给范围重叠的每个存储桶。

请参阅 Neptune ML 中的存储桶数值功能

这些区域有:imputer领域

此字段可选择与numericalbucket_numerical功能用于提供用于填写缺失值的估算技术:

"imputer": "mean"

支持的归算技术有:

  • "mean"

  • "median"

  • "most-frequent"

如果不包括 imputer 参数,则当遇到缺少值时,数据预处理将停止并退出。

请参阅 Neptune ML 中的数字特征Neptune ML 中的存储桶数值功能

这些区域有:max_features领域

可选择使用此字段text_tfidf指定编码的最大术语数的功能:

"max_features": 100

如果设置为 100,TF-IDF 矢量器只对 100 个最常见的术语进行编码。未包含时的默认值max_features为 5000。

请参阅 Neptune ML 中的文本要素的 TF-IDF 编码

这些区域有:min_df领域

可选择使用此字段text_tfidf用于指定要编码的术语的最低文档频率的功能:

"min_df": 5

设置为 5 表示术语必须在至少 5 个不同的属性值中出现才能进行编码。

未包含min_df参数为2.

请参阅 Neptune ML 中的文本要素的 TF-IDF 编码

这些区域有:ngram_range领域

可选择使用此字段text_tfidf功能,用于指定单词或标记序列应被视为可能编码的单个术语的大小:

"ngram_range": [2, 4]

[2, 4]规定应将 2、3 和 4 个单词的序列视为潜在的单个术语。

如果没有明确设置,则默认值ngram_range[1, 1],这意味着只有单个单词或标记被视为要编码的术语。

请参阅 Neptune ML 中的文本要素的 TF-IDF 编码

这些区域有:datetime_parts领域

可选择使用此字段datetime用于指定日期时间值的哪些部分要对其进行分类编码的功能:

"datetime_parts": ["weekday", "hour"]

如果您不包含datetime_parts,默认情况下,Neptune ML 对日期时间值的年、月、工作日和小时部分进行编码。值["weekday", "hour"]表示只有工作日和小时的日期时间值应该在要素中进行绝对编码。

如果其中一个部件在训练集中没有多个唯一值,则不会对其进行编码。

请参阅 Neptune ML 中的日期时间功能