Экспорт конвейера преобразования искрового объекта в файл - PullRequest
0 голосов
/ 19 ноября 2018

PMML, Mleap, PFA в настоящее время поддерживают только преобразования на основе строк.Ни один из них не поддерживает преобразования на основе фреймов, такие как агрегаты, групповые или объединения.Каков рекомендуемый способ экспорта искрового трубопровода, состоящего из этих операций.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Я вижу 2 варианта с Mleap:

1) реализовать преобразователи на основе данных и эквивалентный SQLTransformer -Map. Это решение кажется концептуально лучшим (поскольку вы всегда можете заключить в капсулу такие преобразования в элементе конвейера), но также требует много работы. Смотри https://github.com/combust/mleap/issues/126

2) расширить DefaultMleapFrame соответствующими операциями, которые вы хотите выполнить, и затем фактически применить требуемые действия к данным, переданным на сервер хранения в измененном подпроекте MleapServing.

Я на самом деле пошел с 2) и добавил implode, explode и join в качестве методов к DefaultMleapFrame, а также HashIndexedMleapFrame, который учитывает быстрые соединения. Я не реализовал groupby и agg, но в Scala это сделать относительно легко.

0 голосов
/ 26 ноября 2018

PMML и PFA являются стандартами для представления моделей машинного обучения, а не конвейеров обработки данных. Модель машинного обучения принимает запись данных, выполняет некоторые вычисления и выдает запись выходных данных. Таким образом, по определению вы работаете с одной изолированной записью данных, а не с набором / фреймом / матрицей записей данных.

Если вам необходимо представить полные конвейеры обработки данных (где модель ML является лишь частью рабочего процесса), вам нужно искать другие / комбинированные стандарты. Возможно, SQL в сочетании с PMML будет хорошим выбором. Идея состоит в том, что вы хотите выполнить агрегирование данных вне модели ML, а не внутри нее (например, база данных SQL будет намного лучше, чем любая среда выполнения PMML или PFA) .

...