0

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

但是,我只能找到一种方法来提供异常的总结版本(通过使用tfdv.validate_statisticsand tfdv.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 返回类似的东西:

指数 c1 c2 异常类型
3 100 Z c1 超出范围的值
4 100000 一个 c1 超出范围的值

如果没有,您会推荐什么替代方案?

4

1 回答 1

0

你不能。那是因为正在验证的是统计数据,而不是实际数据。对于 c1 列,tfdv 将统计信息中的最小值和最大值与模式中的最小值和最大值进行比较。这意味着:

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

检查更多信息: https ://www.tensorflow.org/tfx/data_validation/anomalies?hl=en

于 2021-12-02T10:30:38.257 回答