Я создал модель машинного обучения на Python с помощью scikit-learn. Я использовал sklearn2pmml для сериализации, чтобы я мог использовать его в своем веб-приложении Java. Я использую библиотеку pmml4s в Java для десериализации модели.
Я использовал модель для прогнозирования тех же значений в Python и Java. Результаты Python слева, результаты Java справа. Неправильно предсказанные значения обведены синим.
Как вы можете видеть, модель делает только одну ошибку в Python, но делает 4 в Java.
Все, что я делаю в python, - это обучаю свою модель как обычно и вызываю этот код для ее сериализации:
sklearn2pmml(pipeline, "DecisionTree.pmml", with_repr = True)
В Java Я десериализую алгоритм, используя:
Model model = Model.fromFile("src\\main\\resources\\DecisionTree.pmml");
Может ли кто-нибудь на основании этого объяснить потерю точности?