Как реализовать пользовательские apache spark param / parammap в java? - PullRequest
0 голосов
/ 01 февраля 2019

Я хочу реализовать собственный искровой классификатор с пользовательскими параметрами в java .Поскольку я хотел бы, чтобы он был совместим с конвейерной архитектурой, я хотел бы использовать параметр param / parammap для реализации своих собственных дополнительных параметров.

До сих пор я мог реализовывать пользовательские искровые классификаторы, ноЯ не мог понять, как правильно использовать карту параметров в Java.Это то, что я получил до сих пор, я унаследовал от класса классификатора и настроил конкретную модель классификатора.Теперь я хотел бы, чтобы у классификатора был другой параметр в его карте параметров, скажем, параметр "n" типа integer со значением по умолчанию = 1.

Какой самый подходящий и подходящий способ сделать это?Как мне его определить и нужно ли учитывать другие изменения, например, в методах copy (), чтобы убедиться, что он совместим с другими функциями искры?

public class CustomClassifierTemplate extends Classifier<Vector, CustomClassifierTemplate, CustomClassifierTemplate.CustomClassifierModelTemplate>{

    public class CustomClassifierModelTemplate extends ClassificationModel<Vector,CustomClassifierModelTemplate>{

        @Override
        public String uid() {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public int numClasses() {
            // TODO Auto-generated method stub
            return 0;
        }

        @Override
        public Vector predictRaw(Vector arg0) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public CustomClassifierModelTemplate copy(ParamMap arg0) {
            // TODO Auto-generated method stub
            //Creates a copy of this instance with the same UID and some extra params.
            CustomClassifierModelTemplate m = new CustomClassifierModelTemplate();
            m.org$apache$spark$ml$param$Params$_setter_$org$apache$spark$ml$param$Params$$paramMap_$eq(arg0);
            return m;
        }   
}

    @Override
    public String uid() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public CustomClassifierTemplate copy(ParamMap arg0) {
        // TODO Auto-generated method stub
        //Creates a copy of this instance with the same UID and some extra params.
        CustomClassifierTemplate c = new CustomClassifierTemplate();
        c.org$apache$spark$ml$param$Params$_setter_$org$apache$spark$ml$param$Params$$paramMap_$eq(arg0);
        return c;
    }

    @Override
    public CustomClassifierModelTemplate train(Dataset<?> arg0) {
        // TODO Auto-generated method stub
        return null;
    }
}
...