当前位置: 首页>>代码示例>>Java>>正文


Java Node.setId方法代码示例

本文整理汇总了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);
}
 
开发者ID:jpmml,项目名称:jpmml-lightgbm,代码行数:49,代码来源:TreeModelCompactor.java

示例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);
}
 
开发者ID:jpmml,项目名称:jpmml-sklearn,代码行数:53,代码来源:TreeModelCompactor.java

示例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);
}
 
开发者ID:jpmml,项目名称:jpmml-r,代码行数:68,代码来源:BinaryTreeConverter.java

示例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();
	}
}
 
开发者ID:jpmml,项目名称:jpmml-r,代码行数:45,代码来源:IForestConverter.java


注:本文中的org.dmg.pmml.tree.Node.setId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。