TensorFlow数据验证-如何返回异常行



Tensorflow数据验证提供了一种查找数据异常的方法。

然而,我只能找到一种方法来提供异常的总结版本(通过使用tfdv.validate_statisticstfdv.display_anomalies(。

是否有一些参数的功能可以传递,它不报告摘要,而是返回具有异常和什么异常类型的行?

以下示例:

import pandas as pd
import tensorflow_data_validation as tfdv
from tensorflow_metadata.proto import schema_pb2

df_stats = tfdv.generate_statistics_from_dataframe(df)
schema = tfdv.infer_schema(statistics=df_stats)
tfdv.set_domain(schema, "c1", schema_pb2.IntDomain(min=1, max=3))
anomalies = tfdv.validate_statistics(statistics=df_stats, schema=schema)
tfdv.display_anomalies(anomalies)

有没有一种方法可以利用TFDV返回类似的东西:

anomaly_typeA
索引c1c2
3100Zc1超出范围值
4100000c1超出范围值

不,你不能。这是因为验证的是统计数据,而不是实际数据。对于c1列,tfdv将stats中的min和max值与schema中的min值和max值进行比较。这意味着:

  • tfdv不知道是否存在超出范围的其他值(例如100(
  • tfdv无法返回检测到异常的行的索引,因为它没有此信息

查看此项了解更多信息:https://www.tensorflow.org/tfx/data_validation/anomalies?hl=en

最新更新