dotnet / dotnet/machinelearning

Feture request: Data deduplication and Near-deduplication

Open
#6,700 3 comments 0 reactions 0 assignees View on GitHub
area-Core enhancement
Dominant language
C#
Stars
9.4k
Forks
2k
Avg merge
2d 20h
Merged PRs (30d)
11

Description

In current Microsoft.ML developers may need to reduce size of huge datasets (#6679) or at least it might be advisable to do so: For many problems and algorithms hyperparameters tuning is important and may improve results more than increasing size of dataset. Lower datasets make it feasible to complete AutoML tuning. That many of the algorithms are not fully parallizable makes it even more important.

When sampling a dataset I assume there are two key criteria: representability and versatility. The partial sample should represent the dataset as a whole, but it should also include edge cases.

At the moment, I am taking random subsample using SplitTrainTestSet method. I assume it is representative of the whole dataset by virtue of randomness.

However, I would like ways make sure I am not removing edge cases by accident.

Feature requests:
- Method to remove duplicates from the dataset
- Method to remove near duplicates (inspired by this article https://huggingface.co/blog/dedup )

Question:
- Are there ways or methods to analyze subsamples representativeness? Perhaps plotting, or auto-analyzing, the distribution of values in each column. However, this only looks at the columns individually.
- Methods to analyze edge cases not being dropped?

I expect not everything can and should be supported by Microsoft.ML so I will appreciate any ideas and insights on how to ideally complete these tasks within .NET ecosystem. I think data deduplication maybe might be a good addition for Microsoft.ML, and if so, why not near deduplication.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.