数据集查看器文档

探索拆分数据上的统计信息

Hugging Face's logo
加入 Hugging Face 社区

并获得增强文档体验的访问权限

开始使用

探索拆分数据上的统计信息

数据集查看器提供了一个 /statistics 端点,用于获取为请求的数据集预先计算的一些基本统计信息。这将使您快速了解数据的分布情况。

目前,统计信息仅针对 具有 Parquet 导出功能的数据集 进行计算。

/statistics 端点需要三个查询参数

  • dataset:数据集名称,例如 nyu-mll/glue
  • config:子集名称,例如 cola
  • split:拆分名称,例如 train

让我们获取 nyu-mll/glue 数据集、cola 子集、train 拆分的一些统计信息

Python
JavaScript
cURL
import requests
headers = {"Authorization": f"Bearer {API_TOKEN}"}
API_URL = "https://datasets-server.huggingface.co/statistics?dataset=nyu-mll/glue&config=cola&split=train"
def query():
    response = requests.get(API_URL, headers=headers)
    return response.json()
data = query()

响应 JSON 包含三个键

  • num_examples - 拆分中的样本数,或者如果数据集大于 5GB,则为数据第一块中的样本数(请参见下面的 partial 字段)。
  • statistics - 每列统计信息的字典列表,每个字典包含三个键:column_namecolumn_typecolumn_statisticscolumn_statistics 的内容取决于列类型,有关更多详细信息,请参见 按数据类型查看响应结构
  • partial - 如果统计信息是在前 5 GB 的数据上计算的,而不是在整个拆分上计算的,则为 true,否则为 false
{
  "num_examples": 8551,
  "statistics": [
    {
      "column_name": "idx",
      "column_type": "int",
      "column_statistics": {
        "nan_count": 0,
        "nan_proportion": 0,
        "min": 0,
        "max": 8550,
        "mean": 4275,
        "median": 4275,
        "std": 2468.60541,
        "histogram": {
          "hist": [
            856,
            856,
            856,
            856,
            856,
            856,
            856,
            856,
            856,
            847
          ],
          "bin_edges": [
            0,
            856,
            1712,
            2568,
            3424,
            4280,
            5136,
            5992,
            6848,
            7704,
            8550
          ]
        }
      }
    },
    {
      "column_name": "label",
      "column_type": "class_label",
      "column_statistics": {
        "nan_count": 0,
        "nan_proportion": 0,
        "no_label_count": 0,
        "no_label_proportion": 0,
        "n_unique": 2,
        "frequencies": {
          "unacceptable": 2528,
          "acceptable": 6023
        }
      }
    },
    {
      "column_name": "sentence",
      "column_type": "string_text",
      "column_statistics": {
        "nan_count": 0,
        "nan_proportion": 0,
        "min": 6,
        "max": 231,
        "mean": 40.70074,
        "median": 37,
        "std": 19.14431,
        "histogram": {
          "hist": [
            2260,
            4512,
            1262,
            380,
            102,
            26,
            6,
            1,
            1,
            1
          ],
          "bin_edges": [
            6,
            29,
            52,
            75,
            98,
            121,
            144,
            167,
            190,
            213,
            231
          ]
        }
      }
    }
  ],
  "partial": false
}

按数据类型查看响应结构

目前,支持字符串、浮点数和整数、列表、音频和图像数据以及 datasets.ClassLabel 的特殊功能类型的统计信息 datasets 库。

响应中的 column_type 可以是以下值之一

  • class_label - 对于表示分类数据的 datasets.ClassLabel 功能
  • float - 对于浮点数据类型
  • int - 对于整数数据类型
  • bool - 对于布尔数据类型
  • string_label - 对于被视为类别的字符串数据类型(见下文)
  • string_text - 对于字符串数据类型,如果它们不表示类别(见下文)
  • list - 对于任何其他数据类型的列表(包括列表)
  • audio - 对于音频数据
  • image - 对于图像数据

class_label

此类型表示编码为 ClassLabel 特征的分类数据。计算以下指标

  • null 值的数量和比例
  • 没有标签的值的数量和比例
  • 唯一值的数量(不包括 nullno label
  • 每个标签的值计数(不包括 nullno label
示例

{
  "column_name": "label",
  "column_type": "class_label",
  "column_statistics": {
    "nan_count": 0,
    "nan_proportion": 0,
    "no_label_count": 0,
    "no_label_proportion": 0,
    "n_unique": 2,
    "frequencies": {
      "unacceptable": 2528,
      "acceptable": 6023
    }
  }
}

float

以下指标针对浮点数类型数据返回

  • 最小值、最大值、平均值和标准差
  • nullNaN 值的数量和比例(NaN 值被视为 null
  • 包含 10 个区间的直方图
示例

{
  "column_name": "clarity",
  "column_type": "float",
  "column_statistics": {
    "nan_count": 0,
    "nan_proportion": 0,
    "min": 0,
    "max": 2,
    "mean": 1.67206,
    "median": 1.8,
    "std": 0.38714,
    "histogram": {
      "hist": [
        17,
        12,
        48,
        52,
        135,
        188,
        814,
        15,
        1628,
        2048
      ],
      "bin_edges": [
        0,
        0.2,
        0.4,
        0.6,
        0.8,
        1,
        1.2,
        1.4,
        1.6,
        1.8,
        2
      ]
    }
  }
}

int

以下指标针对整数类型数据返回

  • 最小值、最大值、平均值和标准差
  • null 值的数量和比例
  • 包含小于等于 10 个区间的直方图
示例

{
    "column_name": "direction",
    "column_type": "int",
    "column_statistics": {
        "nan_count": 0,
        "nan_proportion": 0.0,
        "min": 0,
        "max": 1,
        "mean": 0.49925,
        "median": 0.0,
        "std": 0.5,
        "histogram": {
            "hist": [
                50075,
                49925
            ],
            "bin_edges": [
                0,
                1,
                1
            ]
        }
    }
}

bool

以下指标针对布尔类型数据返回

  • null 值的数量和比例
  • 'True''False' 值的计数
示例

{
  "column_name": "penalty",
  "column_type": "bool",
  "column_statistics":
    {
        "nan_count": 3,
        "nan_proportion": 0.15,
        "frequencies": {
            "False": 7,
            "True": 10
        }
    }
}

string_label

如果在请求的分组中,字符串列中唯一值的比例小于或等于 0.2 且唯一值的个数小于 1000,或者唯一值的个数小于或等于 10(与比例无关),则该列被视为类别。以下指标将被返回

  • null 值的数量和比例
  • 唯一值的个数(不包括 null
  • 每个标签的值计数(不包括 null
示例

{
  "column_name": "answerKey",
  "column_type": "string_label",
  "column_statistics": {
    "nan_count": 0,
    "nan_proportion": 0,
    "n_unique": 4,
    "frequencies": {
      "D": 1221,
      "C": 1146,
      "A": 1378,
      "B": 1212
    }
  }
}

string_text

如果字符串列不满足被视为 string_label 的条件,则被视为包含文本的列,响应包含根据字符数计算的文本长度的统计信息。以下指标将被计算

  • 文本长度的最小值、最大值、平均值和标准差
  • null 值的数量和比例
  • 包含 10 个区间的文本长度直方图
示例

{
  "column_name": "sentence",
  "column_type": "string_text",
  "column_statistics": {
    "nan_count": 0,
    "nan_proportion": 0,
    "min": 6,
    "max": 231,
    "mean": 40.70074,
    "median": 37,
    "std": 19.14431,
    "histogram": {
      "hist": [
        2260,
        4512,
        1262,
        380,
        102,
        26,
        6,
        1,
        1,
        1
      ],
      "bin_edges": [
        6,
        29,
        52,
        75,
        98,
        121,
        144,
        167,
        190,
        213,
        231
      ]
    }
  }
}

list

对于列表,将计算其长度的分布。以下指标将被返回

  • 列表长度的最小值、最大值、平均值和标准差
  • null 值的数量和比例
  • 包含最多 10 个区间的列表长度直方图
示例

{
    "column_name": "chat_history",
    "column_type": "list",
    "column_statistics": {
        "nan_count": 0,
        "nan_proportion": 0.0,
        "min": 1,
        "max": 3,
        "mean": 1.01741,
        "median": 1.0,
        "std": 0.13146,
        "histogram": {
            "hist": [
                11177,
                196,
                1
            ],
            "bin_edges": [
                1,
                2,
                3,
                3
            ]
        }
    }
}

请注意,不支持列表字典。

audio

对于音频数据,将计算音频文件持续时间的分布。以下指标将被返回

  • 音频文件持续时间的最小值、最大值、平均值和标准差
  • null 值的数量和比例
  • 包含 10 个区间的音频文件持续时间直方图
示例

{
    "column_name": "audio",
    "column_type": "audio",
    "column_statistics": {
        "nan_count": 0,
        "nan_proportion": 0,
        "min": 1.02,
        "max": 15,
        "mean": 13.93042,
        "median": 14.77,
        "std": 2.63734,
        "histogram": {
            "hist": [
                32,
                25,
                18,
                24,
                22,
                17,
                18,
                19,
                55,
                1770
            ],
            "bin_edges": [
                1.02,
                2.418,
                3.816,
                5.214,
                6.612,
                8.01,
                9.408,
                10.806,
                12.204,
                13.602,
                15
            ]
        }
    }
}

image

对于图像数据,将计算图像宽度的分布。以下指标将被返回

  • 图像文件宽度的最小值、最大值、平均值和标准差
  • null 值的数量和比例
  • 包含 10 个区间的图像宽度直方图
示例

{
    "column_name": "image",
    "column_type": "image",
    "column_statistics": {
        "nan_count": 0,
        "nan_proportion": 0.0,
        "min": 256,
        "max": 873,
        "mean": 327.99339,
        "median": 341.0,
        "std": 60.07286,
        "histogram": {
            "hist": [
                1734,
                1637,
                1326,
                121,
                10,
                3,
                1,
                3,
                1,
                2
            ],
            "bin_edges": [
                256,
                318,
                380,
                442,
                504,
                566,
                628,
                690,
                752,
                814,
                873
            ]
        }
    }
}

< > 在 GitHub 上更新