customer Transformer converting to PMML by SkLearn2PMML-Plugin in java side

374 Views Asked by At

I have known the SkLearn2PMML-Plugin project in github(https://github.com/jpmml/sklearn2pmml-plugin/blob/master/README.md). But I have little experience in Java . Can someone help me to write the java plugin of my feature transformer. Below is my feature transformer.

class FeatureSelector(TransformerMixin):
'''A transformer for extracting certain column(s)'''
def __init__(self, cols):
    self.cols = cols

def fit(self, X, y=None, **fit_params):
    return self

def transform(self, X, **transform_params):
    return X[self.cols]




class ModelTransformer(TransformerMixin):

def __init__(self, model):
    self.model = model

def fit(self, *args, **kwargs):
    self.model.fit(*args, **kwargs)
    return self

def transform(self, X, **transform_params):
    return pd.DataFrame(self.model.predict(X))
1

There are 1 best solutions below

0
On

You can achieve FeatureSelector functionality using the sklearn2pmml.preprocessing.ExpressionTransformer transformation:

selector = ExpressionTransformer("X[0]")

The ModelTransformer functionality is a bit more tricky, but certainly doable. Next time, please consider opening a feature request with the SkLearn2PMML project directly (instead of asking SO to write code for you): https://github.com/jpmml/sklearn2pmml/issues/118