multicollinearity_data_check#
数据检查,用于检查任何特征集合是否可能存在多重共线性。
模块内容#
类摘要#
检查任何特征集合是否可能存在多重共线性。 |
目录#
- class evalml.data_checks.multicollinearity_data_check.MulticollinearityDataCheck(threshold=0.9)[source]#
检查任何特征集合是否可能存在多重共线性。
- 参数
threshold (float) – 要考虑的阈值。默认为 0.9。
方法
- 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": [] ... } ... ]