diff --git a/pmml-xgboost/src/main/java/org/jpmml/xgboost/RegTree.java b/pmml-xgboost/src/main/java/org/jpmml/xgboost/RegTree.java index a10bab8..635e4c5 100644 --- a/pmml-xgboost/src/main/java/org/jpmml/xgboost/RegTree.java +++ b/pmml-xgboost/src/main/java/org/jpmml/xgboost/RegTree.java @@ -344,7 +344,15 @@ private org.dmg.pmml.tree.Node encodeNode(int index, Predicate predicate, boolea DataType dataType = continuousFeature.getDataType(); switch(dataType){ case INTEGER: - splitValue = (int)(splitValue.floatValue() + 1f); + Float flooredSplitValue = (float)Math.floor(splitValue.floatValue()); + + if(splitValue.floatValue() == flooredSplitValue.floatValue()){ + splitValue = (int)flooredSplitValue.floatValue(); + } else + + { + splitValue = (int)(flooredSplitValue.floatValue() + 1f); + } break; case FLOAT: break;