I have a project which I am just starting out, I am only just learning machine learning and statistics so I am somewhat unsure as to what approaches will be good to start off with, and I am sorry if this does not belong here.

The data set is of different patients carrying a certain disease and each patient has different biomarkers and physical measurements such as heart rate at different time points, until death, if they do die. I was told that the goal was to identify the key features, which would be associated with a a patient dying.

I only have 33 patients, and only 16 of them have died. But disregarding patient the biomarkers came from I have 300 odd time slots, I first tried to approach it as a binary classification problem, classifying the 'death' point from other points. The problems were:

  1. The data imbalance and,
  2. How to you interpret the models to discover most important features.

For imbalance, I tried SMOTE oversampling with didn't work as I thought, then I randomly under-sampled, which gave decent results but the data set was even smaller, so I wasn't sure if its a good idea.

Simple binary classification models like Gaussian Naive Bayes and Logistic Regression did okay even with the imbalanced data, but they don't (at least as far as I know) give a way to discern feature importance..

So my main questions are:

  1. What's the best way to approach this problem, or in general what kind of approaches work when you want to identify most influential features (data measurements).

  2. If I do want to approach it as a binary classification problem what approaches can I take to combat class imbalance?

  • 1
    $\begingroup$ I think you need to be a bit more specific on what your questions is or it will be difficult to provide you with helpful answers $\endgroup$
    – oW_
    Apr 1 '19 at 20:56
  • 1
    $\begingroup$ You are going to have a hard time getting solid results for testing biomarkers with sample sizes that low unless that effect sizes are huge. The number of different measurements doesn't really increase statistical power very much. You might want to look at prior research on "severity of illness" to get an idea of what has already been discovered. There is quite a bit already done in the intensive care literature using various techniques. $\endgroup$
    – 42-
    Apr 2 '19 at 0:13

If your goal is to identify important features, I would say go for a Decision Tree which inherently calculates importance/separation capability of the features while selecting them for splitting the internal nodes. You can also go for an ensemble of decision trees such as RandomForest which will return feature importance based on their average impurity reduction throughout all its trees.

This article can help you set up a basic experiment.


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.