我想在 java 中使用自定义参数实现自定义火花分类器。由于我希望它与管道体系结构兼容,因此我想使用spark param / parammap来实现自己的其他参数。
到目前为止,我已经能够实现自定义的火花分类器,但是我还没有找到在Java中使用参数映射的正确方法。到目前为止,这是我从分类器类继承的,并建立了一个特定的分类器模型。现在,我希望分类器在参数映射中具有另一个参数,假设整数类型的参数“ n”的默认值为1。
最合适和最一致的方法是什么?如何定义它,是否需要考虑其他更改(例如在copy()方法中)以确保它与其他spark功能兼容?
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;
}
}