woodwork.table_accessor.WoodworkTableAccessor.dependence#
- WoodworkTableAccessor.dependence(measures='all', num_bins=10, nrows=None, include_index=False, include_time_index=False, callback=None, extra_stats=False, min_shared=25, random_seed=0, max_nunique=6000, target_col=None)[源代码]#
计算 DataFrame 中所有支持度量依赖性的列对之间的依赖性度量。支持布尔、分类、日期时间及数值数据。调用 woodwork.utils.get_valid_mi_types 和 woodwork.utils.get_valid_pearson_types 可查看支持的 Logical Types 的完整列表。
- 参数:
dataframe (pd.DataFrame) – 包含 Woodwork 类型信息的待计算依赖性的数据。
measures (list 或 str) –
要计算的依赖性度量。可以提供度量列表以同时计算多个度量。有效的度量字符串包括:
”pearson”: 计算皮尔逊相关系数
”mutual_info”: 计算列之间的互信息
”spearman”: 计算斯皮尔曼相关系数
”max”: 每对列的 max(abs(pearson), abs(spearman), mutual)
”all”: 包括 “pearson”、“mutual_info”、“spearman” 和 “max” 的列
num_bins (int) – 确定用于将数值特征转换为分类特征的 bin 数量。默认为 10。皮尔逊计算不使用 binning。
nrows (int) – 用于确定依赖性时采样的行数。如果指定,将从数据中抽取所需数量的行。默认为使用所有行。
include_index (bool) – 如果为 True,则只要指定为索引的列的 LogicalType 有效可用于度量依赖性,就会包含该列。如果为 False,则不考虑索引列。默认为 False。
include_time_index (bool) – 如果为 True,则指定为时间索引的列将包含在依赖性度量中。如果为 False,则不考虑时间索引列。默认为 False。
callback (callable, optional) –
用于接收增量更新的回调函数。具有以下参数:
update (int): 自上次调用以来的进度变化
progress (int): 计算中的当前进度
total (int): 需要完成的总计算量
unit (str): 进度/总量的度量单位
time_elapsed (float): 自调用开始以来经过的总时间(秒)
extra_stats (bool) – 如果为 True,将随 dataframe 包含额外的列 “shared_rows”,记录列对的共享非空行数。默认为 False。如果使用 “max” 度量,将添加一列 “measure_used”,记录对于特定行,皮尔逊相关或互信息是最大依赖性。
min_shared (int) – 计算所需的共享非空行数。少于此行数将被认为过于稀疏而无法准确度量,并将返回 NaN 值。必须为非负数。默认为 25。
random_seed (int) – 随机数生成器的种子。默认为 0。
max_nunique (int) – 大型分类列(> 800 个唯一值)的最大唯一值数量。分类列将被删除,直到达到此数量或只剩下一个大型分类列。默认为 6000。
target_col (str) – 目标列的名称。如果提供,将仅计算其他列与此目标列之间的依赖性字典。返回结果中,目标列将是 column_2。默认为 None。
- 返回值:
一个 DataFrame,包含列 column_1、column_2 和指定依赖性度量的键。行按第一个指定的度量以降序排列。依赖性信息值介于 0(无依赖性)和 1(完全依赖性)之间。对于皮尔逊和斯皮尔曼,值范围从 -1 到 1,但 0 仍表示无依赖性。如果 extra_stats 为 True,将包含额外的列。
- 返回值类型:
pd.DataFrame