Я пытаюсь создать простой пользовательский Estimator
в PySpark MLlib. Я имею здесь, что можно написать собственный Transformer, но я не уверен, как это сделать в Estimator
. Я также не понимаю, что делает @keyword_only
, и зачем мне так много сеттеров и геттеров. У Scikit-learn есть соответствующий документ для пользовательских моделей (см. Здесь, но PySpark этого не делает.
Псевдокод примерной модели:
class NormalDeviation():
def __init__(self, threshold = 3):
def fit(x, y=None):
self.model = {'mean': x.mean(), 'std': x.std()]
def predict(x):
return ((x-self.model['mean']) > self.threshold * self.model['std'])
def decision_function(x): # does ml-lib support this?