I have a case, where I’m trying to train a GP process regression model based continuous and categorical inputs. I read that traditional covariance functions that are used with Gaussian Process regression may not work well with categorical inputs.

I tried to understand the the covariance functions that we have with PyMC3, but cannot find whether we have any covariance function that works well with categorical inputs. I appreciate any help to identify a suitable covariance function to use with categorical inputs.

Edit:

Also is there a way to combine two kernels, yet use different features with each kernel.

As an example :

```
X1, X2 = X[features1], X[features2]
cov = nu ** 2 * pm.gp.cov.Matern32(X1.shape[1], l1) * pm.gp.cov.ExpQuad(X2.shape[1], l2)
gp = pm.gp.Marginal(cov_func=cov)
```

Notice that each kernel has different set of features. Can we do this? Then how do we pass data to each kernel?

Thanks a lot.