# Intelligent Feature Selection (with SVM or PCA)

**URL:** <https://discourse.flucoma.org/t/intelligent-feature-selection-with-svm-or-pca/788>\
**Category:** Code Sharing\
**Created:** [February 23, 2021, 12:59pm UTC](https://discourse.flucoma.org/t/intelligent-feature-selection-with-svm-or-pca/788 "2021-02-23T12:59:26Z")\
**Posts on this page:** 1\
**Showing post:** 37

<div class="post-metadata">

**Author:** ![rodrigo.constanzo](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/rodrigo.constanzo/32/12_2.png) [@rodrigo.constanzo](https://discourse.flucoma.org/u/rodrigo.constanzo)\
**Post date:** [March 3, 2021, 6:17pm UTC](https://discourse.flucoma.org/t/intelligent-feature-selection-with-svm-or-pca/788/37 "2021-03-03T18:17:03Z")

</div>

> [@tremblap](#):
>
> This is where my work lies now. I am fascinated by the (huge) impact data pre-processing is having on the quality of anything that follows. Log vs Lin and relative range vs relative noise.

Curious how to deal with this when it comes to secondary/tertiary stats (skewness of the 2nd derivative of loudness, etc…). With things like perceptual descriptors, or to a certain extent MFCCs, the scale and boundaries are semi-sensible, just different from each other whereas some other stuff gets fairly irrational right out of the gate.

I primarily ask as one of the [main things I’d be interested in “representing” is a sense of morphology](https://discourse.flucoma.org/t/lte-an-alternative-to-lpt-for-people-who-dont-care-about-pitch/605), so derivatives and related stats I imagine being of significance in capturing that.

> [@tremblap](#):
>
> Indeed we have labelled data to do such test - for instance in the papers we have some of the cool @danieleghisi curated stuff from orchidea

I’m curious what makes for a good set of labels. Last year I made some training/testing hits with my prepared snare stuff so that I can test/compare, which is what I used for all the stats/verification I did in [this thread](https://discourse.flucoma.org/t/regression-classification-regressification/547). I tailored it to my intended use case where I have single/individual “training” hits, and then 5 separately recorded “testing” hits, since my approach (at the time) was more about building a kdtree with loads of individual hits which would act as “classes” which the knearest would give me the nearest match for. I did it because I wanted an arbitrary amount of “classes”, and only wanted a single example of each.

For the purposes of testing I created 34 of these (as in, 34 individual hits, and then 5 addition hits of each 34, so 170 “testing” hits).

But I guess in general it’s good to have samples where the _names_ of the files have symbolic meaning? (instrument, pitch, dynamics typically).

If so, that makes me think I should be able to harvest some great test corpora from some of the sample libraries I have where I can break off sections of it based on instrument (“spoons” vs “crowbar” etc…).

> [@tremblap](#):
>
> an MLP would be good and quick at sorting what is needed and what is not… training is long but query is quite quick

I have it on my list of things to test again, just to revisit the speed “problem”, but curious on your thoughts/experience with regards to pre-fit PCA vs MLP as part of a process chain with regards to how fast they are. I guess in both cases they get broken down to multiplications/calculations, so it’s just a matter of passing the data around.

As @tedmoore mentioned, having some legibility, or still perceptually-meaningful descriptors in the mix is definitely desirable as you can then do perceptual querying (`(loudness > -10 && centroid >= 20) && knearest`) which would be impossible if you boil everything down to abstract/reduced descriptors. But at the same time, I’m not completely averse to doing some overall descriptor mashing (if it isn’t (much) slower than not doing it).

---

_[View the full topic](https://discourse.flucoma.org/t/intelligent-feature-selection-with-svm-or-pca/788)._
