evalml.data_checks.IDColumnsDataCheck.validate

IDColumnsDataCheck.validate(X, y=None)[source]

Check if any of the features are likely to be ID columns. Currently performs these simple checks:

  • column name is “id”

  • column name ends in “_id”

  • column contains all unique values (and is categorical / integer type)

Parameters

X (pd.DataFrame, np.ndarray) – The input features to check

Returns

A dictionary of features with column name or index and their probability of being ID columns

Return type

dict

Example

>>> import pandas as pd
>>> df = pd.DataFrame({
...     'df_id': [0, 1, 2, 3, 4],
...     'x': [10, 42, 31, 51, 61],
...     'y': [42, 54, 12, 64, 12]
... })
>>> id_col_check = IDColumnsDataCheck()
>>> assert id_col_check.validate(df) == {"errors": [],                                                     "warnings": [{"message": "Column 'df_id' is 100.0% or more likely to be an ID column",                                                                   "data_check_name": "IDColumnsDataCheck",                                                                   "level": "warning",                                                                   "code": "HAS_ID_COLUMN",                                                                   "details": {"column": "df_id"}}],                                                     "actions": [{"code": "DROP_COL",                                                                 "metadata": {"column": "df_id"}}]}