@Override public TreeModel encodeModel(Schema schema){ TreeModel treeModel = TreeModelUtil.encodeTreeModel(this, MiningFunction.CLASSIFICATION, schema) .setOutput(ModelUtil.createProbabilityOutput(DataType.DOUBLE, (CategoricalLabel)schema.getLabel())); return TreeModelUtil.transform(this, treeModel); }
.setOutput(ModelUtil.createProbabilityOutput(DataType.DOUBLE, categoricalLabel));
treeModel.setOutput(ModelUtil.createProbabilityOutput(DataType.DOUBLE, categoricalLabel));
@Override public TreeModel encodeModel(Schema schema){ S4Object binaryTree = getObject(); RGenericVector tree = (RGenericVector)binaryTree.getAttributeValue("tree"); Output output; switch(this.miningFunction){ case REGRESSION: output = new Output(); break; case CLASSIFICATION: CategoricalLabel categoricalLabel = (CategoricalLabel)schema.getLabel(); output = ModelUtil.createProbabilityOutput(DataType.DOUBLE, categoricalLabel); break; default: throw new IllegalArgumentException(); } output.addOutputFields(ModelUtil.createEntityIdField(FieldName.create("nodeId"))); TreeModel treeModel = encodeTreeModel(tree, schema) .setOutput(output); return treeModel; }
@Override public Model encodeModel(Schema schema){ RGenericVector party = getObject(); RGenericVector partyNode = (RGenericVector)party.getValue("node"); RGenericVector predicted = (RGenericVector)DecorationUtil.getValue(party, "predicted"); RVector<?> response = (RVector<?>)predicted.getValue("(response)"); RDoubleVector prob = (RDoubleVector)predicted.getValue("(prob)", true); Node root = encodeNode(new True(), partyNode, response, prob, schema); TreeModel treeModel; if(RExpUtil.isFactor(response)){ CategoricalLabel categoricalLabel = (CategoricalLabel)schema.getLabel(); treeModel = new TreeModel(MiningFunction.CLASSIFICATION, ModelUtil.createMiningSchema(categoricalLabel), root) .setOutput(ModelUtil.createProbabilityOutput(DataType.DOUBLE, categoricalLabel)); } else { treeModel = new TreeModel(MiningFunction.REGRESSION, ModelUtil.createMiningSchema(schema.getLabel()), root); } return treeModel; }