static public Schema toTreeModelSchema(DataType dataType, Schema schema){ Function<Feature, Feature> function = new Function<Feature, Feature>(){ @Override public Feature apply(Feature feature){ if(feature instanceof BinaryFeature){ BinaryFeature binaryFeature = (BinaryFeature)feature; return binaryFeature; } else { ContinuousFeature continuousFeature = feature.toContinuousFeature(dataType); return continuousFeature; } } }; return schema.toTransformedSchema(function); }
static public Schema toXGBoostSchema(Schema schema){ Function<Feature, Feature> function = new Function<Feature, Feature>(){ @Override public Feature apply(Feature feature){ if(feature instanceof BinaryFeature){ BinaryFeature binaryFeature = (BinaryFeature)feature; return binaryFeature; } else { ContinuousFeature continuousFeature = feature.toContinuousFeature(); DataType dataType = continuousFeature.getDataType(); switch(dataType){ case INTEGER: case FLOAT: break; case DOUBLE: continuousFeature = continuousFeature.toContinuousFeature(DataType.FLOAT); break; default: throw new IllegalArgumentException(); } return continuousFeature; } } }; return schema.toTransformedSchema(function); }
static public Schema toXGBoostSchema(Schema schema){ Function<Feature, Feature> function = new Function<Feature, Feature>(){ @Override public Feature apply(Feature feature){ if(feature instanceof BinaryFeature){ BinaryFeature binaryFeature = (BinaryFeature)feature; return binaryFeature; } else { ContinuousFeature continuousFeature = feature.toContinuousFeature(); DataType dataType = continuousFeature.getDataType(); switch(dataType){ case INTEGER: case FLOAT: break; case DOUBLE: continuousFeature = continuousFeature.toContinuousFeature(DataType.FLOAT); break; default: throw new IllegalArgumentException(); } return continuousFeature; } } }; return schema.toTransformedSchema(function); }
return schema.toTransformedSchema(function);