Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SPIKE - Add heuristic to limit columns used in Mutual Information #1488

Open
ParthivNaresh opened this issue Aug 4, 2022 · 0 comments
Open

Comments

@ParthivNaresh
Copy link
Collaborator

Today all categorical columns are included in the calculation of mutual information scores. This is normally fine except when the number of unique categories in the categorical column increases to a large number. This was documented by @rpeck in JupyterHub's "mutual information experiments". Despite sampling just 100,000 rows, this is still a pertinent issue.

Currently Adjusted Mutual Information is used when calculating the Mutual Information score in _get_dependence_dict. This is really useful for smaller datasets but larger ones take longer to run with it. We currently don't use Normalized Mutual Information which does help with larger datasets.

This issue is for investigating a better way to deal with datasets that are hundreds of thousands of observations long, with one or more categorical columns that have over 10,000 unique categories.

Points to cover include:

  • Developing a cutoff point for identifying such offending datasets i.e. how many unique categories or how many unique categories per x number of columns before we run into a problem?
  • Investigating Normalized Mutual Information as a potential replacement default scoring method for datasets identified as offending.
  • Considering Normalized Mutual Information as a default replacement for Adjusted Mutual Information.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant