I want to build a machine learning model to predict colorectal cancer based on 16S rRNA microbiome data (stool samples).

I have filtered the data using filtering approach by Duvallet(removing samples with fewer than 100 reads and OTUs with fewer than 10 reads,as well as OTUs which were present in fewer than 1% within the study) What do I have to do after the preprocessing step? How can I do the feature selection for the phenotype data and the microbiome data?

  • 1
    $\begingroup$ Welcome. Thanks for your question. I'm afraid this isn't how the site works. What we answer is specific technical stuff rather than advice on a project design. Preprocessing -> output of ML is an entire project. My advice is to focus on a single question supply and as much information as you can. For example is the microbiome the intestinal trait, is this bowel cancer? How are you sampling the microbiome, 16S, whole genome? You say OTUs - is that optimal taxononic units - this infers you've produced a tree. $\endgroup$
    – M__
    Aug 21 at 3:03

1 Answer 1


I think the question needs improving. As the question stands pre-processing to feature selection ML (that's whats being asked).

  • put the species diversity into a pandas dataframe the last column is the target (cancer vs healthy).
  • assess a variety of ML algorithms (because they give different answers). Naive bayes, linear regression and K-nearest neighbour (KNN) are simple algorithms, easy to run and at this level fine.
  • each have a "feature selection" - all features will be positive.

At a personal level I like KNN, but avoid LR and NB.

I personally would simply suggest unsupervised learning.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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