特征存储:跨不同模型重用相同特征的模式

问题描述 投票:0回答:1

我希望使用特征存储来优化跨许多不同模型的特征重用。

例子: 我有 10 个不同的模型,它们使用相同的 2 个特征集(例如:2 个没有标签的特征数据集)。主要区别在于每个模型预测一组不同的标签。

我在网上找不到任何众所周知的模式,所以我想出了 3 种不同的策略,这并不能真正说服我。

可重用性较低但简单的解决方案: 给定每个特征集,“复制”它并为每个模型创建一组,并带有其专用标签。有了 2 个特征集和 10 个模型,我们将有 20 个不同的组共享相同的特征,除了标签。

更可重用但复杂的解决方案(a): 仅创建 2 个特征组,但包含所有模型的标签。然后,在创建数据集时,过滤组以仅检索特定训练模型的标签列。如果有 2 个特征集和 10 个模型,您将只有 2 个组,每个组有 10 个额外的列,每个标签一个。

更可重用但复杂的解决方案(b): 创建 2 个特征组,并为每个标签集创建一个特征组。然后,在创建数据集时,选择“共享”特征组和包含特定训练模型标签列的特征组。如果有 2 个特征集和 10 个模型,您将有 12 个组; 2 个“共享”的加上 10,每个对应一个标签集。

我很想使用第二种解决方案,但我没有足够的经验来理解潜在的风险(版本控制、沿袭、可维护性等)

你怎么看?你会建议不同的方法吗?

作为参考,我在 AWS 上工作,使用 SageMaker Feature Store。

python amazon-web-services amazon-sagemaker reusability feature-store
1个回答
0
投票

首先我不明白为什么你有“10 个不同的模型使用相同的 2 个特征集”,而不仅仅是 1 个数据集。

在我看来是可重用性、可维护性和复杂性之间的权衡。我认为使用特征存储的主要好处是在模型/业务案例之间共享特征。如果这些特征在约束条件下都是相同的,我会选择 2b。相反,如果巧合的是现在所有的功能都相同,但在未来每个模型都可以独立发展,我会选择选项 1,因为它将允许更新一个模型的功能而不会破坏其他现有模型的风险。

我还会考虑复制复制的功能是否会产生不必要的成本或性能下降,我不熟悉 AWS 功能存储。

© www.soinside.com 2019 - 2024. All rights reserved.