I cannot count how many times I lost nerves on debugging issues on my script to only find out that I used categorical variables instead of 0-1 for my BernoulliLikelihood.
Therefore here is my proposal:
We use ScientificTypes.jl to enforce that the outputs are restricted to be in a certain form (binary, categorical, continuous, positive, etc...).
We dispatch the different likelihoods to their appropriate domain.
We still allow for any kind of input anyway, but we perform a check on the type and domain of the inputs.
I cannot count how many times I lost nerves on debugging issues on my script to only find out that I used categorical variables instead of 0-1 for my
BernoulliLikelihood
.Therefore here is my proposal: