Импорт моделей PMML в Python (Scikit-learn)

#python #r #scikit-learn #pmml

#python #r #scikit-learn #pmml

Вопрос:

Кажется, есть несколько вариантов экспорта моделей PMML из scikit-learn, таких как sklearn2pmml, но гораздо меньше информации идет в другом направлении. Мой случай — это модель XGBoost, ранее созданная в R и сохраненная в PMML с использованием r2pmml, которую я хотел бы использовать в Python. Scikit обычно использует pickle для сохранения / загрузки моделей, но возможно ли также импортировать модели в scikit-learn с помощью PMML?

Ответ №1:

Вы не можете подключить различные специализированные представления (такие как собственные структуры данных R и Scikit-Learn) к обобщенному представлению (такому как PMML). Возможно, вам повезет больше, если вы попытаетесь напрямую перевести структуры данных R в структуры данных Scikit-Learn.

XGBoost на самом деле является исключением из приведенного выше правила, потому что его реализации R и Scikit-Learn — это просто тонкие оболочки вокруг собственной библиотеки XGBoost. Внутри обученного объекта R XGBoost есть большой двоичный raw объект, который является моделью в ее собственном представлении XGBoost. Сохраните его в файл и загрузите в Python, используя xgb.Booster.load_model(fname) метод.

Если вы знаете, что вам нужно развернуть модель XGBoost в Scikit-Learn, тогда зачем вы обучаете ее на R?

Комментарии:

1. Если вы знаете, что вам нужно развернуть модель XGBoost в Scikit-Learn, тогда зачем вы обучаете ее на R? Короче говоря, я этого не делал!

2. Не могли бы вы рассказать мне, как сохранить необработанный объект XGBoost blob в файл. Ценю вашу помощь