I have a logical problem when programming my tumor identification algorithm.

In my data sample, I have tested multiple antibodies on tumors - to identify whether those tumors are good or bad. This is essentially a binary classification. Each antibody (respectively "classifier") showed to have a different explanatory / prediction power when used on its own.

My question in regards to the guideline I now need to program is:

Do I get a higher overall prediction power if I use all antibodies on a new tumor? Do classifiers with a worse explanatory still improve my overall prediction? Or would only using the antibody with the "best" individual prediction power lead to a better result?

The resulting algorithm would then, step by step, test each antibody against each new tumor - each test would be done independently.

And I somehow can't wrap my head around what's better and whether I should simply use only the "best" antibody (i.e. with the best predictive power) or use various to improve my prediction result.


I would approach the problem as follow:

Start by splitting your dataset into a test dataset and a training dataset. You would then proceed by building a classifier for each antibody (feature) using only the training dataset and then measure the success of your model on some test dataset (using the measure that you care about e.g. accuracy).

Usually you cannot repeat the process I described above for all combination of antibodies (features), due to time constraints. Their is a variety of methods you can consider which can be found if you search for feature selection techniques e.g. wrapper, embedded, filter etc.

Since it sounds like you already have a good idea of which features (antibodies) are important, I would recommend trying forward features selection. The idea is that you start building multiple models using only 1 feature (antibody) and determine which one is the best. Let's refer to these as selected features from now on.

For each unselected feature

  1. Build a model using the selected features and one of the unselected features (in this case we will build a model using your best antibody and one other antibody)
  2. Measure the performance of the model on the test set and store it

Once you are done you check if by adding only one feature did it improve the performance in comparison to using only one antibody. If it did you add the best antibody to your original best antibody, so now your model has two selected features.

You can repeat this process, until the performance starts to drop. The method does not search the whole space, but it still gives some descent results.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.