I'm currently facing a classification task on a rather small set (201 observations) with a large number of predictors (about 90). There are about 25 variables describing such quantities as blood pressure, creatinine level, glucose level, LDL, HDL, CRP, and so on. A common feature for these variables is that the norms for healthy patients are well defined, so i.e. 70-99mg/dl for glucose is considered proper.

Does is then make sense to discretize such variables? When it comes to glucose, value 0 would correspond to the values in the range from 70 to 99, while outside this range it would be 1.

What's the reasoning? Well, my datset is rather small and even reducing the number of predictors may not provide a sufficient number of observations per variable. The second thing is that in such fashion we feed the model with some external knowledge that is not available for it. Is this a good idea?

  • 2
    $\begingroup$ Using external knowledge is good. Binarizing variables is not, because it loses information. When the dataset is small, losing information is the opposite of what you want to do! $\endgroup$
    – whuber
    Aug 6, 2022 at 16:02
  • $\begingroup$ @whuber thanks! I agree that it loses information. I immediately thought about leaving these continuous variables as they are and creating another binary variable that indicates whether the value is inside or outside of the given interval. The problem is that it doubles the number of variables, so in this case I go from 25 to 50. And that's the problem given the small dataset. What's your view here? $\endgroup$
    – thesecond
    Aug 6, 2022 at 16:11

1 Answer 1


Don't feel hamstrung by the somewhat arbitrary "normal" limits of these clinical variables.* A linear model of a continuous predictor uses up one degree of freedom, just like discretizing it into two categories does. Discretizing it into "low," "normal" and "high" uses up 2 degrees of freedom; why not use that many degrees of freedom for a simple continuous spline fit instead?

You do need to do some data reduction, but discretizing continuous variables isn't the way to proceed. Frank Harrell discusses this matter extensively with clinical data, in Section 4.7 of his course notes and book. You work with the predictors while ignoring the outcomes, for example removing predictors with low variance and taking advantage of their correlations with each other to reduce multiple predictors to single cluster scores.

*I remember when someone I know was told frantically by a physician that she had a "low sodium" and should eat more salt and drink less water, because her sodium was 134 mEq/liter instead of the "normal" 135. Clinicians don't always appreciate random variability (or maybe aren't allowed to, for medico-legal reasons).


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.