PySpark хранит метаданные модели в Custom Estimator - PullRequest
0 голосов
/ 28 октября 2019

У меня есть CustomEstimator, который возвращает CustomEstimatorModel в PySpark с MLLib. Я хочу сохранить метаданные моей модели. В Scala я вижу интерфейс под названием «Saveable». Могу ли я использовать это в PySpark и как я могу это сделать?

Код Psuedo:

class CustomEstimatorModel(Model, DefaultParamsReadable, DefaultParamsWritable):

    def _transform(self, df):
        huge_df = read_metadata_from_training_data()  # what is the cleanest way to read this in?
        df2 = df.join(huge_df, on=['somekey'], how='left')
        return df2


class CustomEstimator(Estimator, DefaultParamsReadable, DefaultParamsWritable):

    @keyword_only
    def __init__(self):
        super(CustomEstimator, self).__init__()
        kwargs = self._input_kwargs
        self.setParams(**kwargs)

    @keyword_only
    def setParams(self):
        kwargs = self._input_kwargs
        return self._set(**kwargs)

    def _fit(self, df):
        huge_df = calculate_metadata_from_training_data(df)
        save(huge_df)  # what is the cleanest way to store this together with all the other components in my pipeline?
        return CustomEstimatorModel()
...