Я ищу способ применить некоторые методы агрегирования в модели PMML (без конкретного примера, просто чтобы посмотреть, возможно ли это)
В документации на странице преобразований PMML есть отрывок о Aggregate, определяется как способ применения шести функций: количество, сумма, среднее, минимальное, максимальное и мультимножество.
Означает ли это, что есть способ сгенерировать преобразование внутри модели PMML, которое сможет свернуть несколько строк входных данных в одну строку прогноза? Мне не удалось найти такой пример (или вообще какой-либо пример), а в этом посте говорится, что в PMML поддерживаются только операции с единичными строками.
При дальнейшем поиске в библиотеке Sklearn2PMML есть метод агрегатора, но он генерирует преобразование только в одной строке, например, получение среднего из двух столбцов.
Этот код:
iris_pipeline = PMMLPipeline([
("mapper", DataFrameMapper([
(["Sepal.Length", "Petal.Length"], [ContinuousDomain(), Aggregator(function = "mean")]),
])),
])
Умеет генерировать простое преобразование вместо агрегатной функции.
<TransformationDictionary>
<DerivedField name="avg(Sepal.Length, Petal.Length)" optype="continuous" dataType="double">
<Apply function="avg">
<FieldRef field="Sepal.Length"/>
<FieldRef field="Petal.Length"/>
</Apply>
</DerivedField>
</TransformationDictionary>
TL;DR:
Пример того, чего я хотел бы достичь:
Есть ли способ сделать это внутри модели PMML, или мне следует попытаться сгенерировать такие действия предварительной обработки, прежде чем применять данные для прогнозирования?