woodwork.table_accessor.WoodworkTableAccessor.mutual_information#
- WoodworkTableAccessor.mutual_information(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)[source]#
计算 DataFrame 中所有支持互信息的列对之间的互信息。调用 woodwork.utils.get_valid_mi_types 查看哪些逻辑类型支持互信息。
- 参数:
num_bins (int) – 确定用于将数值特征转换为分类特征的分箱数量。默认为 10。
nrows (int) – 计算互信息时要采样的行数。如果指定,则从数据中采样所需数量的行。默认为使用所有行。
include_index (bool) – 如果为 True,只要指定为索引的列的逻辑类型对互信息计算有效,该列就会被包含在内。如果为 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。
min_shared (int) – 计算所需的共享非空行数。少于此行数将被认为过于稀疏而无法准确测量,并将返回 NaN 值。必须为非负数。默认为 25。
random_seed (int) – 随机数生成器的种子。默认为 0。
max_nunique (int) – 所有大型分类列(唯一值 > 800)的最大总唯一值数量。将丢弃分类列,直到达到此数量或只剩下一个大型分类列。默认为 6000。
- 返回值:
一个包含互信息的 DataFrame,列包括 column_1、column_2 和 mutual_info,按互信息降序排列。互信息值介于 0(无互信息)和 1(完美依赖)之间。
- 返回类型:
pd.DataFrame