Consider this question on a survey:
What desserts have you eaten?
- Apple pie
- Banana pudding
- Coconut cake
- Doughnut holes
The user can pick as many of the options as they like. How would one encode this for use in a machine learning model? One-hot encoding is not viable in general, as there are $2^n-1$ unique combinations of options which quickly becomes unmanageable. In my case I have multiple questions with 20 options each, even one of those features would get one-hot encoded into $2^{20}-1\approx 1000000$ binary features. Ordinal encoding with increasing integers also does not seem appropriate given that the different sets of options do not have an inherent ordering to them.
One option is to make a binary feature for whether or not the user included a particular option in their selection. If there are a total of $n$ possible options to select, this results in $n$ binary features.
Are there any other good approaches?