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.
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.