public SupportVectorMachineModel addSupportVectorMachines(SupportVectorMachine... supportVectorMachines) { getSupportVectorMachines().addAll(Arrays.asList(supportVectorMachines)); return this; }
public SupportVectorMachineModel addSupportVectorMachines(SupportVectorMachine... supportVectorMachines) { getSupportVectorMachines().addAll(Arrays.asList(supportVectorMachines)); return this; }
@Override protected <V extends Number> Map<FieldName, ?> evaluateRegression(ValueFactory<V> valueFactory, EvaluationContext context){ SupportVectorMachineModel supportVectorMachineModel = getModel(); List<SupportVectorMachine> supportVectorMachines = supportVectorMachineModel.getSupportVectorMachines(); if(supportVectorMachines.size() != 1){ throw new InvalidElementListException(supportVectorMachines); } SupportVectorMachine supportVectorMachine = supportVectorMachines.get(0); Object input = createInput(context); Value<V> result = evaluateSupportVectorMachine(valueFactory, supportVectorMachine, input); return TargetUtil.evaluateRegression(getTargetField(), result); }
List<SupportVectorMachine> supportVectorMachines = supportVectorMachineModel.getSupportVectorMachines();
@Override public VisitorAction accept(Visitor visitor) { VisitorAction status = visitor.visit(this); if (status == VisitorAction.CONTINUE) { visitor.pushParent(this); if ((status == VisitorAction.CONTINUE)&&hasExtensions()) { status = PMMLObject.traverse(visitor, getExtensions()); } if (status == VisitorAction.CONTINUE) { status = PMMLObject.traverse(visitor, getMiningSchema(), getOutput(), getModelStats(), getModelExplanation(), getTargets(), getLocalTransformations(), getKernel(), getVectorDictionary()); } if ((status == VisitorAction.CONTINUE)&&hasSupportVectorMachines()) { status = PMMLObject.traverse(visitor, getSupportVectorMachines()); } if (status == VisitorAction.CONTINUE) { status = PMMLObject.traverse(visitor, getModelVerification()); } visitor.popParent(); } if (status == VisitorAction.TERMINATE) { return VisitorAction.TERMINATE; } return VisitorAction.CONTINUE; }
@Override public VisitorAction accept(Visitor visitor) { VisitorAction status = visitor.visit(this); if (status == VisitorAction.CONTINUE) { visitor.pushParent(this); if ((status == VisitorAction.CONTINUE)&&hasExtensions()) { status = PMMLObject.traverse(visitor, getExtensions()); } if (status == VisitorAction.CONTINUE) { status = PMMLObject.traverse(visitor, getMiningSchema(), getOutput(), getModelStats(), getModelExplanation(), getTargets(), getLocalTransformations(), getKernel(), getVectorDictionary()); } if ((status == VisitorAction.CONTINUE)&&hasSupportVectorMachines()) { status = PMMLObject.traverse(visitor, getSupportVectorMachines()); } if (status == VisitorAction.CONTINUE) { status = PMMLObject.traverse(visitor, getModelVerification()); } visitor.popParent(); } if (status == VisitorAction.TERMINATE) { return VisitorAction.TERMINATE; } return VisitorAction.CONTINUE; }
@Override public SupportVectorMachineModel encodeModel(Schema schema){ int[] shape = getSupportVectorsShape(); int numberOfVectors = shape[0]; int numberOfFeatures = shape[1]; List<Integer> support = getSupport(); List<? extends Number> supportVectors = getSupportVectors(); List<Integer> supportSizes = getSupportSizes(); List<? extends Number> dualCoef = getDualCoef(); List<? extends Number> intercept = getIntercept(); SupportVectorMachineModel supportVectorMachineModel = LibSVMUtil.createClassification(new CMatrix<>(ValueUtil.asDoubles(supportVectors), numberOfVectors, numberOfFeatures), supportSizes, SupportVectorMachineUtil.formatIds(support), ValueUtil.asDoubles(intercept), ValueUtil.asDoubles(dualCoef), schema) .setKernel(SupportVectorMachineUtil.createKernel(getKernel(), getDegree(), getGamma(), getCoef0())); List<SupportVectorMachine> supportVectorMachines = supportVectorMachineModel.getSupportVectorMachines(); for(SupportVectorMachine supportVectorMachine : supportVectorMachines){ String category = supportVectorMachine.getTargetCategory(); // LibSVM: (decisionFunction > 0 ? first : second) // PMML: (decisionFunction < 0 ? first : second) supportVectorMachine.setTargetCategory(supportVectorMachine.getAlternateTargetCategory()); supportVectorMachine.setAlternateTargetCategory(category); } return supportVectorMachineModel; }
SupportVectorMachineModel supportVectorMachineModel = getModel(); List<SupportVectorMachine> supportVectorMachines = supportVectorMachineModel.getSupportVectorMachines();