我想启用数字特征漂移而不设置域。举例:我是根据年龄给客户打分,在我的训练集中,我的变量分布均匀。现在,在我的投放数据中,所有客户的年龄都在50岁左右(域中不会出现这种班次变化)。是否有任何选项来标记这种行为,需要在tfdv中进行重新培训?
我尝试给tfdv提供了两个分布N(0,1)和N(10,1),但在检测到异常时没有发现异常。
编辑:漂移仅适用于分类特征。
答案 0 :(得分:1)
Drift Comparator
用于某种时间序列数据,以比较例如昨天和今天的数据。
在您的情况下,我认为您应该使用Skew Comparator
,因为它将发现Training
和Serving
数据之间的Distribution / Skew差异。该功能的代码如下所示:
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。
答案 1 :(得分:0)
用于数字功能的漂移目前正在开发中,并且将在tfdv的下一版本(0.24.1之后)中得到支持。为此,您将必须使用JSD而不是无穷大范数。