¿Cómo establecer parámetros para un Transformador PySpark personalizado una vez que es una etapa en una Tubería ML ajustada?
He escrito un ML Pipeline personalizadoEstimator
yTransformer
para mi propio algoritmo Python siguiendo el patrón que se muestraaquí.
Sin embargo, en ese ejemplo, todos los parámetros necesarios para_transform()
fueron convenientemente pasados al Modelo / Transformador por el estimador_fit()
método. Pero mi transformador tiene varios parámetros que controlan la forma en que se aplica la transformación. Estos parámetros son específicos del transformador, por lo que sería extraño pasarlos al estimador por adelantado junto con los parámetros específicos del estimador utilizados para ajustar el modelo.
Puedo evitar esto agregando extraParams
al transformador Esto funciona bien cuando uso mi estimador y transformador fuera de una tubería ML. Pero, ¿cómo puedo establecer estos parámetros específicos del transformador una vez que mi objeto estimador se ha agregado como una etapa a una tubería? Por ejemplo, puedes llamargetStages()
en unpyspark.ml.pipeline.Pipeline
y por lo tanto puede obtener los estimadores, pero no hay correspondencia correspondientegetStages()
método enPipelineModel
. No puedo ver ningún método para establecer parámetros en elPipelineModel
etapas tampoco.
Entonces, ¿cómo puedo configurar los parámetros en mi transformador antes de llamartransform()
en el modelo de tubería instalada? Estoy en Spark 2.2.0.