Como definir parâmetros para um PySpark Transformer personalizado, uma vez que é um estágio em um pipeline de ML instalado?

Eu escrevi um pipeline personalizado de MLEstimator eTransformer para o meu próprio algoritmo Python, seguindo o padrão mostradoaqui.

No entanto, nesse exemplo, todos os parâmetros necessários para_transform() foram convenientemente passados para o Modelo / Transformador pelas_fit() método. Mas meu transformador tem vários parâmetros que controlam a maneira como a transformação é aplicada. Esses parâmetros são específicos para o transformador, portanto, seria estranho passá-los ao estimador com antecedência, juntamente com os parâmetros específicos do estimador usados para ajustar o modelo.

Eu posso contornar isso adicionando extraParams para o transformador. Isso funciona bem quando eu uso meu estimador e transformador fora de um pipeline de ML. Mas como posso definir esses parâmetros específicos do transformador depois que meu objeto estimador foi adicionado como um estágio a um Pipeline? Por exemplo, você pode ligargetStages() com umpyspark.ml.pipeline.Pipeline e, portanto, pode obter os estimadores, mas não há correspondênciagetStages() método emPipelineModel. Não vejo nenhum método para definir parâmetros noPipelineModel estágios também.

Então, como posso definir os parâmetros no meu transformador antes de ligartransform() no modelo de tubulação instalada? Estou no Spark 2.2.0.

questionAnswers(1)

yourAnswerToTheQuestion