I want to predict a categorical variable using also categorical predictors. Currently, I am looking at classification and regression trees (CART). The prediction quality is "good enough", except for the presence of impossible combinations. In the following minimal example, the combination `a==2, b==2` is impossible, yet the estimation decides not to use `b` for splitting. > library(rpart) > d <- data.frame(a=rep(factor(c(1,1,2)), 100000), b=factor(c(1,2,1))) > #d > xtabs(~., d) b a 1 2 1 1e+05 1e+05 2 1e+05 0e+00 > rpart(a~b, d) n= 300000 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 300000 1e+05 1 (0.6666667 0.3333333) * When simulating stochastically from this model (by choosing the leaf value by sampling using the annotated probability vector, here $(2/3, 1/3)$, as weights), the combination `2, 2` will occur. Is there a way to avoid this, perhaps using another method? This is just a small example for a more general case. I have around 10 predictors, and I want to exclude all combinations of two (or perhaps three) attributes that have no observation in the sample. I am aware of the "loss matrix" that can be specified as a parameter to `rpart`, but this is prohibitive if many predictors are used.