multicollinearity_data_check#

数据检查,用于检查任何特征集合是否可能存在多重共线性。

模块内容#

类摘要#

MulticollinearityDataCheck

检查任何特征集合是否可能存在多重共线性。

目录#

class evalml.data_checks.multicollinearity_data_check.MulticollinearityDataCheck(threshold=0.9)[source]#

检查任何特征集合是否可能存在多重共线性。

参数

threshold (float) – 要考虑的阈值。默认为 0.9。

方法

name

返回描述数据检查的名称。

validate

检查任何特征集合是否可能存在多重共线性。

name(cls)#

返回描述数据检查的名称。

validate(self, X, y=None)[source]#

检查任何特征集合是否可能存在多重共线性。

参数
  • X (pd.DataFrame) – 要检查的输入特征。

  • y (pd.Series) – 目标。忽略。

返回

如果存在任何潜在的多重共线性列,则返回一个包含 DataCheckWarning 的字典。

返回类型

dict

示例

>>> import pandas as pd

使用互信息识别 X 中彼此高度相关的列。

>>> col = pd.Series([1, 0, 2, 3, 4] * 15)
>>> X = pd.DataFrame({"col_1": col, "col_2": col * 3})
>>> y = pd.Series([1, 0, 0, 1, 0] * 15)
...
>>> multicollinearity_check = MulticollinearityDataCheck(threshold=1.0)
>>> assert multicollinearity_check.validate(X, y) == [
...     {
...         "message": "Columns are likely to be correlated: [('col_1', 'col_2')]",
...         "data_check_name": "MulticollinearityDataCheck",
...         "level": "warning",
...         "code": "IS_MULTICOLLINEAR",
...         "details": {"columns": [("col_1", "col_2")], "rows": None},
...         "action_options": []
...     }
... ]