Details
Description
Currently, Catboost inference code in Ignite ML doesn't support Categorical features, Float features only. This limits the ability to use this feature for a wide variety of models and cat boost being the model primarily being optimized for categorical features, and widely used for those. We can add support for categorical features for both regression and classification models with small changes. I would be glad to contribute the same.
Original Issue on which this feature was added - https://issues.apache.org/jira/browse/IGNITE-13714
Below is the code in CatBoostClassificationModel.java which needs to be updated to reflect categorical features support, I already have a code patch written, can update it after proper test cases and testing.
try { double predict = model.predict(floatInput, model.getFeatureNames()) .get(0, 0); // use formula based on https://github.com/catboost/benchmarks/blob/61d62512f751325a14dd885bb71f8c2dabf7e24b/quality_benchmarks/catboost_experiment.py#L77 return Math.pow(1 + Math.exp(-predict), -1); } catch (CatBoostError e) {