跳到内容

可用设置

有一系列选项可用于自定义 ydata-profiling 的行为和生成的报告的外观。深度自定义可以创建高度针对特定分析数据集的行为。可用设置如下所示。要了解如何更改它们,请查阅 :doc:changing_settings

通用设置

全局报告设置

参数 类型 默认值 描述
title string YData Profiling Report 报告的标题,显示在页眉和标题栏中。
pool_size integer 0 线程池中的工作线程数。设置为零时,它将被设置为可用 CPU 的数量。
progress_bar boolean True 如果设置为 Trueydata-profiling 将显示进度条。

变量摘要设置

与每个变量显示的信息相关的设置。

参数 类型 默认值 描述
sort None, asc 或 desc nan asc(升序)、desc(降序)或 None(保留原始顺序)对变量进行排序。
variables.descriptions dict {} 能够在每个变量的描述性统计数据旁边显示描述({'变量名': '描述'})。
vars.num.quantiles list[float] [0.05,0.25,0.5,0.75,0.95] 要计算的分位数。请注意,.25、.5 和 .75 是计算其他指标(中位数和 IQR)所必需的。
vars.num.skewness_threshold integer 20 如果偏度高于此阈值,则发出警告。
vars.num.low_categorical_threshold integer 5 如果不同值的数量小于此数值,则该系列被视为分类变量。设置为 0 可禁用。
vars.num.chi_squared_threshold float 0.999 设置为 0 可禁用卡方计算。
vars.cat.length boolean True 检查字符串长度并汇总值(最小值、最大值、均值、中位数)。
vars.cat.characters boolean False 检查字符的分布及其 Unicode 属性。通常提供有用的信息,但计算成本可能较高。
vars.cat.words boolean False 检查单词的分布。通常提供有用的信息,但计算成本可能较高。
vars.cat.cardinality_threshold integer 50 如果不同值的数量高于此阈值,则发出警告。
vars.cat.imbalance_threshold float 0.5 如果失衡分数高于此阈值,则发出警告。
vars.cat.n_obs integer 5 显示此数量的观察值。
vars.cat.chi_squared_threshold float 0.999 与上述相同,但用于分类变量。
vars.bool.n_obs integer 3 与上述相同,但用于布尔变量。
vars.bool.imbalance_threshold float 0.5 如果失衡分数高于此阈值,则发出警告。
配置示例
  profile = df.profile_report(
      sort="ascending",
      vars={
          "num": {"low_categorical_threshold": 0},
          "cat": {
              "length": True,
              "characters": False,
              "words": False,
              "n_obs": 5,
          },
      },
  )

  profile.config.variables.descriptions = {
      "files": "Files in the filesystem",
      "datec": "Creation date",
      "datem": "Modification date",
  }

  profile.to_file("report.html")

设置数据集 schema 类型

配置给定数据集的 schema 类型。

将变量类型 schema 设置为生成 profile 报告
  import json
  import pandas as pd

  from ydata_profiling import ProfileReport
  from ydata_profiling.utils.cache import cache_file

  file_name = cache_file(
      "titanic.csv",
      "https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv",
  )
  df = pd.read_csv(file_name)

  type_schema = {"Survived": "categorical", "Embarked": "categorical"}

  # We can set the type_schema only for the variables that we are certain of their types.
  # All the other will be automatically inferred.
  report = ProfileReport(df, title="Titanic EDA", type_schema=type_schema)

  report.to_file("report.html")

缺失数据概述图

与缺失数据部分及其可能包含的可视化相关的设置。

参数 类型 默认值 描述
missing_diagrams.bar boolean True 显示每个列的缺失值计数的条形图。
missing_diagrams.matrix boolean True 显示缺失值矩阵。类似于条形图,但可能提供行中缺失值共现的概述。
missing_diagrams.heatmap boolean True 显示缺失值热力图,衡量空值相关性(即一个变量的存在或缺失对另一个变量的存在影响程度)。
配置示例:为大型数据集禁用热力图
1
2
3
4
5
6
  profile = df.profile_report(
      missing_diagrams={
          "heatmap": False,
      }
  )
  profile.to_file("report.html")

相关性

关于相关性指标和阈值的设置。
默认值为 auto,但以下相关矩阵可用

参数 描述
auto 根据类型 schema 计算列的成对相关性
- 数值变量到数值变量:Spearman 相关系数
- 分类变量到分类变量:Cramer's V 关联系数
- 数值变量到分类变量:数值变量自动离散化后的 Cramer's V 关联系数
spearman Spearman 相关性衡量两个变量之间单调关联的强度和方向。非常适合评估分类或序数变量之间关系的强度。
pearson Pearson 相关系数是衡量线性相关的最常用方法。它是一个介于 –1 和 1 之间的数值,衡量两个变量之间关系的强度和方向。
kendall Kendall 秩相关系数是用于衡量两个测量量之间序数关联的统计量。当数据不满足 Pearson 相关性要求时,通常使用 Kendall 相关性。
phi_k Phi K 特别适合处理混合类型变量。使用此系数,我们可以找到(意外的)相关性并评估其统计显著性。
cramers Cramers 是一种相关矩阵,通常用于检查分类变量在存在大于 2x2 列联表时的关联。

对于每个相关矩阵,您可以使用以下配置

参数 类型 默认值 描述
correlations.auto.calculate boolean True 是否计算 'auto' 相关性
correlations.auto.warn_high_correlations boolean True 显示高于阈值的相关性警告
correlations.auto.threshold float 0.9 警告阈值
correlations.pearson.calculate boolean False 是否计算 Pearson 相关性
correlations.pearson.warn_high_correlations boolean True 显示高于阈值的相关性警告
correlations.pearson.threshold float 0.9 警告阈值
correlations.spearman.calculate boolean False 是否计算 Spearman 相关性
correlations.spearman.warn_high_correlations boolean False 显示高于阈值的相关性警告
correlations.spearman.threshold float 0.9 警告阈值
correlations.kendall.calculate boolean False 是否计算 Kendall 秩相关性
correlations.kendall.warn_high_correlations boolean False 显示高于阈值的相关性警告
correlations.kendall.threshold float 0.9 警告阈值
correlations.phi_k.calculate boolean False 是否计算 Phi K 相关性
correlations.phi_k.warn_high_correlations boolean False 显示高于阈值的相关性警告
correlations.phi_k.threshold float 0.9 警告阈值
correlations.cramers.calculate boolean False 是否计算 Cramer's V 关联系数
correlations.cramers.warn_high_correlations boolean True 显示高于阈值的相关性警告
correlations.cramers.threshold float 0.9 警告阈值

例如,要禁用所有相关性计算(对于大型数据集可能很实用)

禁用所有相关矩阵
    profile = df.profile_report(
        title="Report without correlations",
        correlations={
            "auto": {"calculate": False},
            "pearson": {"calculate": False},
            "spearman": {"calculate": False},
            "kendall": {"calculate": False},
            "phi_k": {"calculate": False},
            "cramers": {"calculate": False},
        },
    )

    # or using a shorthand that is available for correlations
    profile = df.profile_report(
        title="Report without correlations",
        correlations=None,
    )

交互

与交互部分相关的设置。

参数 类型 默认值 描述
interactions.continuous boolean True 为所有连续变量对生成一个 2D 散点图(或六边形分箱图)。
interactions.targets list [] 当给定变量名称列表时,仅计算这些变量与所有其他变量之间的交互。

报告外观

与报告外观和样式相关的设置。

参数 类型 默认值 描述
html.minify_html bool True 如果设置为 True,则使用 htmlmin 包压缩输出的 HTML。
html.use_local_assets bool True 如果设置为 True,所有资产(样式表、脚本、图像)都本地存储。如果设置为 False,则对某些样式表和脚本使用 CDN。
html.inline boolean True 如果设置为 True,所有资产都包含在报告中。如果设置为 False,则会创建一个 Web 导出,其中所有资产都存储在 '[报告名称]_assets/' 目录中。
html.navbar_show boolean True 是否在报告中包含导航栏
html.style.theme string None 选择一个 bootswatch 主题。可用选项:flatly(深蓝色)和 united(橙色)
html.style.logo string nan 一个 Base64 编码的徽标,用于在导航栏中显示。
html.style.primary_color string #337ab7 报告中使用的主要颜色。
html.style.full_width boolean False 默认情况下,报告宽度是固定的。如果设置为 True,则使用屏幕的完整宽度。