3

我想在不设置域的情况下启用数值特征漂移。例如:我根据年龄对客户进行评分,在我的训练集中我有一个均匀分布的变量。现在,在我的服务数据中,所有客户都是 50 多岁(域不会捕捉到这种转变)。是否有任何选项来标记需要在 tfdv 重新培训的这种行为?

我尝试给 tfdv 两个分布 N(0,1) 和 N(10,1) 但没有检测到异常。

编辑:漂移仅适用于分类特征。

4

3 回答 3

0

TFDV 添加了一个新功能,允许我们检测数字特征的偏差。在 中指定jensen_shannon_divergence阈值而不是infinity_norm阈值skew_comparator

例子:

tfdv.get_feature(schema, 'total_actions').skew_comparator.jensen_shannon_divergence.threshold = 0.01

你可以在这里查看更多信息:https ://www.tensorflow.org/tfx/data_validation/get_started#checking_data_skew_and_drift

于 2021-09-08T21:32:50.123 回答
0

数字特征的漂移目前正在开发中,并将在 tfdv 的下一版本(0.24.1 之后)中得到支持。为此,您将不得不使用 JSD 而不是无限范数。

于 2020-10-09T10:41:21.100 回答
-1

Drift Comparator用于时间序列数据的种类,例如比较昨天和今天的数据。

在您的情况下,我认为您应该使用,因为它会发现和DataSkew Comparator之间的分布/偏斜差异。该函数的代码如下所示:TrainingServing

serving_stats = tfdv.generate_statistics_from_tfrecord(data_location=serving_data_path)

tfdv.get_feature(schema, 'payment_type').skew_comparator.infinity_norm.threshold = 0.01

skew_anomalies = tfdv.validate_statistics(
        statistics=train_stats, schema=schema, serving_statistics=serving_stats)

您可能需要使用阈值(提到为 0.01)来标记 Anamolies。

于 2019-06-20T07:24:20.250 回答