我想在不设置域的情况下启用数字特征漂移。例如:我根据年龄对客户进行评分,在我的训练集中,变量的分布是均匀的。现在,在我的服务数据中,所有的客户都是50多岁(域名不会捕捉到这样的变化)。是否有任何选项来标记需要在tfdv中重新训练的此类行为?
我尝试给tfdv两个分布N(0,1)和N(10,1),但没有检测到异常。
编辑:漂移仅适用于分类特征。
发布于 2019-06-20 15:24:20
Drift Comparator是用来比较时间序列数据的,例如,昨天和今天的数据。
在您的情况下,我认为您应该使用Skew Comparator,因为它将发现Training和Serving数据在分布/偏斜方面的差异。该函数的代码如下所示:
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。
发布于 2020-10-09 18:41:21
数字特征的漂移现在正在开发中,并将在下一个版本的tfdv (0.24.1之后)中得到支持。要做到这一点,你将不得不使用JSD而不是无限规范。
发布于 2021-09-08 21:32:50
TFDV增加了一项新功能,允许我们检测数字特征的偏差。在skew_comparator中指定jensen_shannon_divergence阈值,而不是infinity_norm阈值。
示例:
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
https://stackoverflow.com/questions/56673494
复制相似问题