This seems like an easy question but I haven't been able to find a definitive source for this or questions that address this topic directly.

When applying a classification algorithm, should you apply one-hot encoding on Likert-scale features? Take for example the features in IBM's attrition dataset:

JobSatisfaction 1 'Low' 2 'Medium' 3 'High' 4 'Very High'

I know that one-hot encoding should be done on categorical values (e.g., gender) but I don't know what to do about Likert scale items, which can be interpreted as ordinal, nominal or even continuous (though I tend to disagree with the latter).

I'm conducting Logistic Regression on this data set without creating dummies for the Likert features--at best my AUC is .59. I checked the approaches of others on Kaggle and those that achieved an AUC of .7 to .8 encoded some of the Likert features.


1 Answer 1


There is no general answer here, it depends on your goals. But in the setting of logistic regression, where the likert variable is to be used as a predictor, I would try to code it with its integer values, but represent it in the regression equation via regression splines. If the number of distinct values is very low, maybe just represent it via dummys (one-hot encoding).

In the extreme case with only three distinct values, say $1,2,3$, then representation via dummys or via a quadratic polynomial would use equal df's, so both would be saturated (so giving the same fit.) With many (say 9) distinct values, you could compare three nested models: linear, with regression spline, or with dummys.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.