本文整理汇总了Java中org.dmg.pmml.tree.Node.setId方法的典型用法代码示例。如果您正苦于以下问题:Java Node.setId方法的具体用法?Java Node.setId怎么用?Java Node.setId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.dmg.pmml.tree.Node
的用法示例。
在下文中一共展示了Node.setId方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: handleNodePush
import org.dmg.pmml.tree.Node; //导入方法依赖的package包/类
private void handleNodePush(Node node){
String defaultChild = node.getDefaultChild();
String id = node.getId();
String score = node.getScore();
if(id == null){
throw new IllegalArgumentException();
} // End if
if(node.hasNodes()){
List<Node> children = node.getNodes();
if(children.size() != 2 || defaultChild == null || score != null){
throw new IllegalArgumentException();
}
Node firstChild = children.get(0);
Node secondChild = children.get(1);
if((defaultChild).equals(firstChild.getId())){
children.remove(0);
children.add(1, firstChild);
firstChild = children.get(0);
secondChild = children.get(1);
} else
if((defaultChild).equals(secondChild.getId())){
// Ignored
} else
{
throw new IllegalArgumentException();
}
node.setDefaultChild(null);
secondChild.setPredicate(new True());
} else
{
if(defaultChild != null || score == null){
throw new IllegalArgumentException();
}
}
node.setId(null);
}
示例2: handleNodePush
import org.dmg.pmml.tree.Node; //导入方法依赖的package包/类
private void handleNodePush(Node node){
String id = node.getId();
String score = node.getScore();
if(id == null){
throw new IllegalArgumentException();
} // End if
if(node.hasNodes()){
List<Node> children = node.getNodes();
if(children.size() != 2 || score != null){
throw new IllegalArgumentException();
}
Node firstChild = children.get(0);
Node secondChild = children.get(1);
SimplePredicate firstPredicate = (SimplePredicate)firstChild.getPredicate();
SimplePredicate secondPredicate = (SimplePredicate)secondChild.getPredicate();
if(!(firstPredicate.getField()).equals(secondPredicate.getField()) || !(firstPredicate.getValue()).equals(secondPredicate.getValue())){
throw new IllegalArgumentException();
} // End if
if((SimplePredicate.Operator.NOT_EQUAL).equals(firstPredicate.getOperator()) && (SimplePredicate.Operator.EQUAL).equals(secondPredicate.getOperator())){
children.remove(0);
children.add(1, firstChild);
firstChild = children.get(0);
secondChild = children.get(1);
} else
if((SimplePredicate.Operator.LESS_OR_EQUAL).equals(firstPredicate.getOperator()) && (SimplePredicate.Operator.GREATER_THAN).equals(secondPredicate.getOperator())){
// Ignored
} else
{
throw new IllegalArgumentException();
}
secondChild.setPredicate(new True());
} else
{
if(score == null){
throw new IllegalArgumentException();
}
}
node.setId(null);
}
示例3: encodeNode
import org.dmg.pmml.tree.Node; //导入方法依赖的package包/类
private void encodeNode(Node node, RGenericVector tree, Schema schema){
RIntegerVector nodeId = (RIntegerVector)tree.getValue("nodeID");
RBooleanVector terminal = (RBooleanVector)tree.getValue("terminal");
RGenericVector psplit = (RGenericVector)tree.getValue("psplit");
RGenericVector ssplits = (RGenericVector)tree.getValue("ssplits");
RDoubleVector prediction = (RDoubleVector)tree.getValue("prediction");
RGenericVector left = (RGenericVector)tree.getValue("left");
RGenericVector right = (RGenericVector)tree.getValue("right");
node.setId(String.valueOf(nodeId.asScalar()));
if((Boolean.TRUE).equals(terminal.asScalar())){
node = encodeScore(node, prediction, schema);
return;
}
RNumberVector<?> splitpoint = (RNumberVector<?>)psplit.getValue("splitpoint");
RStringVector variableName = (RStringVector)psplit.getValue("variableName");
if(ssplits.size() > 0){
throw new IllegalArgumentException();
}
Predicate leftPredicate;
Predicate rightPredicate;
FieldName name = FieldName.create(variableName.asScalar());
Integer index = this.featureIndexes.get(name);
if(index == null){
throw new IllegalArgumentException();
}
Feature feature = schema.getFeature(index);
if(feature instanceof CategoricalFeature){
CategoricalFeature categoricalFeature = (CategoricalFeature)feature;
List<String> values = categoricalFeature.getValues();
List<Integer> splitValues = (List<Integer>)splitpoint.getValues();
leftPredicate = createSimpleSetPredicate(categoricalFeature, selectValues(values, splitValues, true));
rightPredicate = createSimpleSetPredicate(categoricalFeature, selectValues(values, splitValues, false));
} else
{
ContinuousFeature continuousFeature = feature.toContinuousFeature();
String value = ValueUtil.formatValue((Double)splitpoint.asScalar());
leftPredicate = createSimplePredicate(continuousFeature, SimplePredicate.Operator.LESS_OR_EQUAL, value);
rightPredicate = createSimplePredicate(continuousFeature, SimplePredicate.Operator.GREATER_THAN, value);
}
Node leftChild = new Node()
.setPredicate(leftPredicate);
encodeNode(leftChild, left, schema);
Node rightChild = new Node()
.setPredicate(rightPredicate);
encodeNode(rightChild, right, schema);
node.addNodes(leftChild, rightChild);
}
示例4: encodeNode
import org.dmg.pmml.tree.Node; //导入方法依赖的package包/类
private void encodeNode(Node node, int index, int depth, List<Integer> nodeStatus, List<Integer> nodeSize, List<Integer> leftDaughter, List<Integer> rightDaughter, List<Integer> splitAtt, List<Double> splitValue, Schema schema){
int status = nodeStatus.get(index);
int size = nodeSize.get(index);
node.setId(String.valueOf(index + 1));
// Interior node
if(status == -3){
int att = splitAtt.get(index);
ContinuousFeature feature = (ContinuousFeature)schema.getFeature(att - 1);
String value = ValueUtil.formatValue(splitValue.get(index));
Predicate leftPredicate = createSimplePredicate(feature, SimplePredicate.Operator.LESS_THAN, value);
Node leftChild = new Node()
.setPredicate(leftPredicate);
int leftIndex = (leftDaughter.get(index) - 1);
encodeNode(leftChild, leftIndex, depth + 1, nodeStatus, nodeSize, leftDaughter, rightDaughter, splitAtt, splitValue, schema);
Predicate rightPredicate = createSimplePredicate(feature, SimplePredicate.Operator.GREATER_OR_EQUAL, value);
Node rightChild = new Node()
.setPredicate(rightPredicate);
int rightIndex = (rightDaughter.get(index) - 1);
encodeNode(rightChild, rightIndex, depth + 1, nodeStatus, nodeSize, leftDaughter, rightDaughter, splitAtt, splitValue, schema);
node.addNodes(leftChild, rightChild);
} else
// Terminal node
if(status == -1){
node.setScore(ValueUtil.formatValue(depth + avgPathLength(size)));
} else
{
throw new IllegalArgumentException();
}
}