Zum Inhalt springen
scopal affairs, Foyer

Genmutationen klassifizieren

Genmutationen anhand medizinischer Fachliteratur in einer Kaggle-Challenge klassifizieren. Getestet wurden TF-IDF, Wort-Embeddings und mehrere Klassifikatoren. Die Wortwolken halfen nicht dabei, die Artikel zu verstehen.

Eintrag vom

Genmutationen klassifizieren
Genmutationen klassifizieren

Beitrag zum Kaggle-Wettbewerb MSK Redefining Cancer Treatment (Wettbewerbsreihe der NIPS 2017): Genmutationen anhand des Textes medizinischer Artikel nach ihrer klinischen Wirkung klassifizieren.

Vorgehen

Sprachverarbeitung macht aus jedem Artikel Merkmale, an denen mehrere Klassifikatoren verglichen werden.

  • Merkmale: TF-IDF; Continuous Bag of Words; Worteinbettungen aus N-Gramm-Modellen; Bi-LSTM mit einer Conditional-Random-Field-Schicht.
  • Klassifikatoren: Random Forest, XGBoost.
  • Werkzeuge: NumPy, pandas, scikit-learn, PyTorch, NLTK, Stanford CoreNLP.

Beobachtungen

  • Wortwolken aus der TF-IDF-Ausgabe halfen nicht dabei, einen Artikel von Hand einzuordnen.
  • Stanford CoreNLP lief in Java besser, ließ sich aber mit dem 4-GB-Datensatz in Python kaum verbinden. NLTK übernahm Lemmatisierung und Stemming.
  • Die Dokumentation und die Beispiele zur Sprachverarbeitung machten PyTorch zum Mittel der Wahl.

Mögliche Erweiterungen

Transformer-Modelle und Attention für lange medizinische Texte; eigene Stoppwortlisten und fachspezifische Tokenisierung; Interpretierbarkeit mit SHAP oder LIME; Kreuzvalidierung und Maße jenseits von Log Loss, etwa Sensitivität, Spezifität und ROC-AUC.

Notebook auf Kaggle

Bildansicht