使用 Amazon SageMaker Feature Store 及其功能级元数据功能 PlatoBlockchain Data Intelligence 促进整个组织的功能发现和重用。 垂直搜索。 哎。

使用 Amazon SageMaker 功能存储及其功能级元数据功能在整个组织内促进功能发现和重用

Amazon SageMaker功能商店 帮助数据科学家和机器学习 (ML) 工程师安全地存储、发现和共享用于训练和预测工作流的精选数据。 Feature Store 是功能和相关元数据的集中存储,允许从事不同项目或 ML 模型的数据科学家团队轻松发现和重用功能。

使用 Feature Store,您始终能够在功能组级别添加元数据。 希望能够搜索和发现其模型的现有特征的数据科学家现在可以通过添加自定义元数据在特征级别搜索信息。 例如,信息可以包括功能描述、上次修改日期、原始数据源、某些指标或敏感度级别。

下图说明了功能组、功能和相关元数据之间的体系结构关系。 请注意数据科学家现在如何在功能组级别和单个功能级别指定描述和元数据。

在这篇文章中,我们将解释数据科学家和 ML 工程师如何将特征级元数据与 Feature Store 的新搜索和发现功能结合使用,从而在整个组织中促进更好的特征重用。 此功能可以在特征选择过程中显着帮助数据科学家,从而帮助您识别可提高模型准确性的特征。

用例

出于本文的目的,我们使用了两个功能组, customerloan.

customer 功能组具有以下功能:

  • 年龄 – 客户年龄(数字)
  • 工作 – 作业类型(one-hot 编码,例如 admin or services)
  • 婚姻 – 婚姻状况(one-hot 编码,例如 married or single)
  • 教育 – 教育水平(one-hot 编码,例如 basic 4y or high school)

loan 功能组具有以下功能:

  • 默认 – 有信用违约吗? (单热编码: no or yes)
  • 住房 – 有房贷吗? (单热编码: no or yes)
  • 贷款 – 有个人贷款吗? (单热编码: no or yes)
  • 总金额 – 贷款总额(数字)

下图显示了示例功能组和功能元数据。

使用 Amazon SageMaker Feature Store 及其功能级元数据功能 PlatoBlockchain Data Intelligence 促进整个组织的功能发现和重用。 垂直搜索。 哎。

为每个特征添加描述和分配元数据的目的是通过启用新的搜索参数来提高发现速度,数据科学家或 ML 工程师可以沿着这些参数探索特征。 这些可以反映有关某项功能的详细信息,例如其计算、是否平均超过 6 个月或 1 年、来源、创建者或所有者、该功能的含义等等。

在以下部分中,我们提供了两种搜索和发现特征以及配置特征级元数据的方法:第一种使用 亚马逊SageMaker Studio 直接,第二个以编程方式。

Studio 中的功能发现

您可以使用 Studio 轻松搜索和查询要素。 借助新的增强型搜索和发现功能,您只需输入几个字符即可立即检索结果。

以下屏幕截图演示了以下功能:

  • 你可以访问 功能目录 选项卡并观察特征组中的特征。 特征显示在一个表中,其中包括特征名称、类型、描述、参数、创建日期和相关特征组的名称。
  • 您可以直接使用预先输入功能立即返回搜索结果。
  • 您可以灵活地使用不同类型的过滤器选项: All, Feature name, DescriptionParameters。 注意 All 将返回所有功能 Feature name, DescriptionParameters 匹配搜索条件。
  • 您可以通过指定日期范围来进一步缩小搜索范围,使用 Created fromCreated to 字段和指定参数使用 Search parameter keySearch parameter value 领域。

使用 Amazon SageMaker Feature Store 及其功能级元数据功能 PlatoBlockchain Data Intelligence 促进整个组织的功能发现和重用。 垂直搜索。 哎。

选择功能后,您可以选择功能的名称以显示其详细信息。 当你选择 编辑元数据,您可以添加描述和最多 25 个键值参数,如以下屏幕截图所示。 在此视图中,您最终可以创建、查看、更新和删除功能的元数据。 以下屏幕截图说明了如何编辑功能元数据 total_amount.

使用 Amazon SageMaker Feature Store 及其功能级元数据功能 PlatoBlockchain Data Intelligence 促进整个组织的功能发现和重用。 垂直搜索。 哎。

如前所述,将键值对添加到特征中会为您提供更多维度来搜索其给定特征。 对于我们的示例,功能的来源已添加到每个功能的元数据中。 当您选择搜索图标并沿键值对过滤时 origin: job,您可以看到从该基本属性单热编码的所有特征。

使用代码发现功能

您还可以通过 AWS命令行界面 (AWS CLI) 和 SDK (Boto3) 而不是直接通过 AWS管理控制台. 这允许您将 Feature Store 的功能级搜索功能与您自己的自定义数据科学平台集成。 在本节中,我们与 Boto3 API 端点交互以更新和搜索功能元数据。

要开始改进功能搜索和发现,您可以使用 update_feature_metadata API。 除了 descriptioncreated_date 字段,您最多可以为给定特征添加 25 个参数(键值对)。

以下代码是已添加到 job_admin 特征。 此功能已创建,以及 job_servicesjob_none, 通过 one-hot-encoding job.

sagemaker_client.update_feature_metadata(
    FeatureGroupName="customer",
    FeatureName="job_admin",
    ParameterAdditions=[
        {"Key": "author", "Value": "arnaud"}, # Feature's author
        {"Key": "team", "Value": "mlops"}, # Team owning the feature
        {"Key": "origin", "Value": "job"}, # Raw input parameter
        {"Key": "sensitivity", "Value": "5"}, # 1-5 scale for data sensitivity
        {"Key": "env", "Value": "testing"} # Environment the feature is used in
    ]
)

author, team, origin, sensitivityenv 已添加到 job_admin 功能、数据科学家或 ML 工程师可以通过调用 describe_feature_metadata API。 您可以导航到 Parameters 在我们之前添加到我们的功能中的元数据的响应中的对象。 这 describe_feature_metadata API 端点允许您通过获取相关元数据来更深入地了解给定功能。

response = sagemaker_client.describe_feature_metadata(
    FeatureGroupName="customer",
    FeatureName="job_admin",
)

# Navigate to 'Parameters' in response to get metadata
metadata = response['Parameters']

您可以使用 SageMaker 搜索功能 search API 使用元数据作为搜索参数。 以下代码是一个示例函数,它采用 search_string 参数作为输入并返回特征名称、描述或参数与条件匹配的所有特征:

def search_features_using_string(search_string):
    response = sagemaker_client.search(
        Resource= "FeatureMetadata",
        SearchExpression={
            'Filters': [
               {
                   'Name': 'FeatureName',
                   'Operator': 'Contains',
                   'Value': search_string
               },
               {
                   'Name': 'Description',
                   'Operator': 'Contains',
                   'Value': search_string
               },
               {
                   'Name': 'AllParameters',
                   'Operator': 'Contains',
                   'Value': search_string
               }
           ],
           "Operator": "Or"
        },
    )

    # Displaying results in a pandas DataFrame
    df=pd.json_normalize(response['Results'], max_level=1)
    df.columns = df.columns.map(lambda col: col.split(".")[1])
    df=df.drop('FeatureGroupArn', axis=1)

    return df

下面的代码片段使用我们的 search_features 检索特征名称、描述或参数中包含单词的所有特征的函数 job:

search_results = search_features_using_string('mlops')
search_results

以下屏幕截图包含匹配功能名称的列表及其相应的元数据,包括每个功能的创建和上次修改的时间戳。 您可以使用此信息来改进对组织功能的发现和可见性。

使用 Amazon SageMaker Feature Store 及其功能级元数据功能 PlatoBlockchain Data Intelligence 促进整个组织的功能发现和重用。 垂直搜索。 哎。

结论

SageMaker Feature Store 提供了一个专门构建的功能管理解决方案,可帮助组织跨业务部门和数据科学团队扩展 ML 开发。 提高特征重用和特征一致性是特征存储的主要好处。 在这篇文章中,我们解释了如何使用特征级元数据来改进特征的搜索和发现。 这包括围绕各种用例创建元数据并将其用作额外的搜索参数。

试一试,并在评论中告诉我们您的想法。 如果您想了解有关在 Feature Store 中协作和共享功能的更多信息,请参阅 使用Amazon SageMaker Feature Store跨帐户和团队启用功能复用.


关于作者

使用 Amazon SageMaker Feature Store 及其功能级元数据功能 PlatoBlockchain Data Intelligence 促进整个组织的功能发现和重用。 垂直搜索。 哎。 阿诺·劳尔 是 AWS 公共部门团队的高级合作伙伴解决方案架构师。 他让合作伙伴和客户了解如何最好地使用 AWS 技术将业务需求转化为解决方案。 他在公共部门、能源和消费品等多个行业提供和构建数字化转型项目方面拥有超过 16 年的经验。 人工智能和机器学习是他的一些爱好。 Arnaud 拥有 12 项 AWS 认证,包括 ML 专业认证。

使用 Amazon SageMaker Feature Store 及其功能级元数据功能 PlatoBlockchain Data Intelligence 促进整个组织的功能发现和重用。 垂直搜索。 哎。尼古拉斯·伯尼尔 是一名助理解决方案架构师,是 AWS 加拿大公共部门团队的一员。 他目前正在攻读深度学习研究领域的硕士学位,并持有五项 AWS 认证,包括 ML 专业认证。 Nicolas 热衷于帮助客户加深对 AWS 的了解,与他们合作将他们的业务挑战转化为技术解决方案。

使用 Amazon SageMaker Feature Store 及其功能级元数据功能 PlatoBlockchain Data Intelligence 促进整个组织的功能发现和重用。 垂直搜索。 哎。马克·罗伊 是AWS的首席机器学习架构师,帮助客户设计和构建AI / ML解决方案。 Mark的工作涉及广泛的ML用例,主要关注计算机视觉,深度学习以及在整个企业范围内扩展ML。 他曾帮助许多行业的公司提供服务,包括保险,金融服务,媒体和娱乐,医疗保健,公用事业和制造业。 Mark拥有六项AWS认证,包括ML Specialty认证。 在加入AWS之前,Mark曾担任架构师,开发人员和技术主管超过25年,其中包括19年的金融服务。

使用 Amazon SageMaker Feature Store 及其功能级元数据功能 PlatoBlockchain Data Intelligence 促进整个组织的功能发现和重用。 垂直搜索。 哎。库什布·斯利瓦斯塔瓦 是 Amazon SageMaker 的高级产品经理。 她喜欢构建为客户简化机器学习工作流程的产品。 在业余时间,她喜欢拉小提琴、练习瑜伽和旅行。

时间戳记:

更多来自 AWS机器学习