Filter out outlier points in a dataset, before fitting kdtree

That other thread definitely does a deep dive.

It should be said that I’ve not really implemented any outlier rejection (yet) into Data Knot and have found it pretty robust. Things get more complicated with very similar sounds, as you’ve noticed.

It’s unclear from your post what descriptors/settings you’re using, and if you’re doing any additional processing (normalization etc…). All of that has a massive impact on things.

If you’re in the mood for another deep dive, I tested a ton of different permutations of things before arriving at the “recipe” I currently use in Data Knot:

Towards this, I think it always works best with “real” examples. As in, playing as you are expecting to play, be it loud/quiet/fast/slow/flams etc… Otherwise you can end up in a situation where your isolated/platonic versions of the sounds aren’t really good representations of what the classifier will see in reality.

Also worth keeping in mind with the visualization is that your UMAP (?) projection is not really indicative of how well something will perform and/or overlap, since it’s a weird folding over of a much more complex space. Here’s the first tab of the dk.classmatch helpfile showing the bad overlap in the dk.plotter reduction, but the classification itself works quite well: