在Java中反序列化使用sklearn2pmml创建的机器学习模型后,会造成巨大的准确性损失

在Java中反序列化使用sklearn2pmml创建的机器学习模型后,会造成巨大的准确性损失,java,python,machine-learning,scikit-learn,pmml,Java,Python,Machine Learning,Scikit Learn,Pmml,我使用scikit learn在Python中创建了一个机器学习模型。我使用sklearn2pmml对其进行序列化,以便在Java Web应用程序中使用它。我使用Java中的pmml4s库来反序列化模型 我使用该模型在Python和Java中预测相同的值。 Python结果在左边,Java结果在右边。 错误预测值用蓝色圆圈表示 正如您所见,该模型在Python中只犯了一个错误,而在Java中犯了4个错误 我在python中所做的就是像往常一样训练我的模型,并调用以下代码对其进行序列化: skl

我使用scikit learn在Python中创建了一个机器学习模型。我使用sklearn2pmml对其进行序列化,以便在Java Web应用程序中使用它。我使用Java中的pmml4s库来反序列化模型

我使用该模型在Python和Java中预测相同的值。 Python结果在左边,Java结果在右边。 错误预测值用蓝色圆圈表示

正如您所见,该模型在Python中只犯了一个错误,而在Java中犯了4个错误

我在python中所做的就是像往常一样训练我的模型,并调用以下代码对其进行序列化:

sklearn2pmml(pipeline, "DecisionTree.pmml", with_repr = True)
在Java中,我使用以下命令反序列化算法:

 Model model = Model.fromFile("src\\main\\resources\\DecisionTree.pmml");

有人能解释基于此的准确性损失吗?

如果您对库的结果有疑问,您可以在github中打开一个问题:。项目维护人员将帮助您调查您的问题。

您是否尝试过使用标准JPMML Evaluator库为这个PMML文件打分?