Categorical expects integer outputs, 0, 1, 2, … n. When you hot-encode it assumes it is seeing multiple independent observations mostly of zeros and some ones now and then. That’s not what you want. You can use multinomial for hot encoding.
1 Like