Skip to content
scopal affairs, foyer

Classifying Gene Mutations

Classifying gene mutations from medical literature in a Kaggle challenge. TF-IDF, word embeddings, and several classifiers were tested. The word clouds did not help with interpreting the articles.

Posted on

Classifying Gene Mutations
Classifying Gene Mutations

Entry in the Kaggle competition MSK Redefining Cancer Treatment (NIPS 2017 competition track): classify gene mutations by their clinical effect from the text of medical articles.

Approach

Natural language processing turns each article into features; several classifiers are compared on them.

  • Features: TF-IDF; continuous bag of words; word embeddings from n-gram models; Bi-LSTM with a conditional random field layer.
  • Classifiers: random forest, XGBoost.
  • Stack: NumPy, pandas, scikit-learn, PyTorch, NLTK, Stanford CoreNLP.

Observations

  • Word clouds of the TF-IDF output did not help to classify an article by eye.
  • Stanford CoreNLP performed better in Java but was impractical to combine with the 4 GB data set in Python. NLTK handled lemmatization and stemming.
  • PyTorch's documentation and its natural language processing examples made it the framework of choice.

Possible extensions

Transformer models and attention for long medical texts; custom stop words and domain-specific tokenization; model interpretability with SHAP or LIME; cross-validation and metrics beyond log loss, such as sensitivity, specificity and ROC AUC.

Notebook on Kaggle

Image viewer