# How to solve this classification problem: multi-class or multi-label?

In a supervised cancer classification task which is given the data containing metrics we want to classify whether the patient has cancer or is at high risk (label 1) or low risk (0). However, there is another attribute which is screening status which I want to include in the prediction. But I don't know how -- should it be a label or an input feature? The information on patients screened have the screening year as the value. Those who were not screened have the value for the year empty. Let the label for is screened be 3 and not screened be 4. So, the idea is:

-- a patient is at high risk and was screened : [1,3]
-- patient is at high risk but not screened: [1,4]
-- patient is at low risk and was screened: [0,3]
-- patient is at low risk but not screened: [0,4]


Basically, I want to assess the importance of early screening in predicting benign/malignant. The patients who have been screened early may not have cancer. On the other hand, it may happen that those who were screened developed cancer in later stages. This implies that the patients who did not pass the screening tests were diagnosed with cancer. So, what are the factors that influence the patient to pass or reject the screening test and whether the screening test itself can help in predicting/classification of malignant/benign. This is the research problem.

Confusion 1: How can I include this screening status? Will the information on screening be included as a label ?

Confusion 2: Will it be multi-label or multi-class classification?

Is my approach correct? Please let me know if I am in the correct direction an please correct me otherwise. Links to papers with similar problem will also be helpful.

So, in regards to your two questions:

1. In terms of including the screening status as a label: this really depends on what exactly you want your model to do and the applications of this model. If you want this model to help clinicians understand which patients should be screened and which shouldn’t, then of course include this feature as an additional predictor.

2. In terms of screening status prediction task being multi-label or multi-class: in this case the classes appear to be mutually exclusive. Therefore, this would be a multi-class classification problem. A multi labelling problem is for example predicting which combination of symptoms would appear if a patient experienced a certain disease.

• Thank you very much for answering. The model should help clinicians decide on the utility of screening which means that the patient should be screened or not at the same time it is a binary classification where we are predicting if the patient has cancer or not. So, my confusion is if it is a 4 class or 3 class classification task or multi-label + multi-clas classification task if the model has to help clinicians decide on the utility of screening. – Sm1 Sep 9 at 17:31
• It seems that a patient can belong to more than one class (binary in this case) at the same time -- is screened and risk or no risk. So, wouldn't it be multi-label? At the same time, based on your answer in point (1), I think that should be my approach. But I am not sure. – Sm1 Sep 9 at 17:36
• I see your reasoning behind this. This task would effectively be two separate multi-class classification tasks concatenated together. However, now with these concatenated tasks, it would effectively be tackled as if it were a multi-labelling problem since we now want the output to not be a a standard one-hot encoded vector. – shepan6 Sep 10 at 17:43
• Could you please elaborate a bit on how to do two separate multi-class classification followed by multi-label? I am trying to wrap my head around it but finding it hard to clearly think on how to solve it. Thank you – Sm1 Sep 10 at 23:09

An alternative approach can be the pre-processing step to determine which the independent variables are checked for correlation with the dependent variable. In R the function is cor(). Example: I used the mtcars dataset to show the correlation between multiple variables.

> data(mtcars)
> cor(mtcars)
mpg        cyl       disp         hp
mpg   1.0000000 -0.8521620 -0.8475514 -0.7761684
cyl  -0.8521620  1.0000000  0.9020329  0.8324475
disp -0.8475514  0.9020329  1.0000000  0.7909486
hp   -0.7761684  0.8324475  0.7909486  1.0000000
drat  0.6811719 -0.6999381 -0.7102139 -0.4487591


Now, suppose in the above example you find independent variable gross horsepower (hp) is highly correlated with the outcome or the dependent variable miles per gallon(mpg) and is not correlated with the other independent variables then you should almost certainly include it, as it increases the power to detect the effect of other other independent variables.
• Based on my understanding, mine is unbalanced because number of instances of not screened is far less in comparison to other classes and I am confused if it should be solved as a multi class or multi label. In my opinion I think multi label should be the way, but I may be wrong. Why I think multi label because the is screening information is always associated with the patient having risk or no risk of the disease. – Sm1 Sep 10 at 2:55