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


Java Visitor类代码示例

本文整理汇总了Java中org.dmg.pmml.Visitor的典型用法代码示例。如果您正苦于以下问题:Java Visitor类的具体用法?Java Visitor怎么用?Java Visitor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Visitor类属于org.dmg.pmml包,在下文中一共展示了Visitor类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: encodeTreeModel

import org.dmg.pmml.Visitor; //导入依赖的package包/类
static
public TreeModel encodeTreeModel(org.apache.spark.ml.tree.Node node, PredicateManager predicateManager, MiningFunction miningFunction, Schema schema){
	Node root = encodeNode(node, predicateManager, Collections.<FieldName, Set<String>>emptyMap(), miningFunction, schema)
		.setPredicate(new True());

	TreeModel treeModel = new TreeModel(miningFunction, ModelUtil.createMiningSchema(schema.getLabel()), root)
		.setSplitCharacteristic(TreeModel.SplitCharacteristic.BINARY_SPLIT);

	String compact = TreeModelOptions.COMPACT;
	if(compact != null && Boolean.valueOf(compact)){
		Visitor visitor = new TreeModelCompactor();

		visitor.applyTo(treeModel);
	}

	return treeModel;
}
 
开发者ID:jpmml,项目名称:jpmml-sparkml,代码行数:18,代码来源:TreeModelUtil.java

示例2: transform

import org.dmg.pmml.Visitor; //导入依赖的package包/类
static
public <E extends Estimator & HasTreeOptions, M extends Model> M transform(E estimator, M model){
	Boolean compact = (Boolean)estimator.getOption(HasTreeOptions.OPTION_COMPACT, Boolean.TRUE);
	Boolean flat = (Boolean)estimator.getOption(HasTreeOptions.OPTION_FLAT, Boolean.FALSE);

	List<Visitor> visitors = new ArrayList<>();

	if(compact){
		visitors.add(new TreeModelCompactor());
	} // End if

	if(flat){
		visitors.add(new TreeModelFlattener());
	}

	for(Visitor visitor : visitors){
		visitor.applyTo(model);
	}

	return model;
}
 
开发者ID:jpmml,项目名称:jpmml-sklearn,代码行数:22,代码来源:TreeModelUtil.java

示例3: accept

import org.dmg.pmml.Visitor; //导入依赖的package包/类
@Override
public VisitorAction accept(Visitor visitor){
	VisitorAction status = VisitorAction.CONTINUE;

	if((status == VisitorAction.CONTINUE) && hasArguments()){
		List<Argument> arguments = getArguments();

		for(Argument argument : arguments){
			status = PMMLObject.traverse(visitor, argument.getExpression());

			if(status != VisitorAction.CONTINUE){
				break;
			}
		}
	} // End if

	if(status == VisitorAction.TERMINATE){
		return VisitorAction.TERMINATE;
	}

	return VisitorAction.CONTINUE;
}
 
开发者ID:jpmml,项目名称:jpmml-r,代码行数:23,代码来源:FunctionExpression.java

示例4: getParent

import org.dmg.pmml.Visitor; //导入依赖的package包/类
static
public PMMLObject getParent(Visitor visitor, int index){
	Deque<PMMLObject> parents = visitor.getParents();

	if(index < 0){
		throw new IllegalArgumentException();
	} else

	if(index == 0){
		return parents.getFirst();
	}

	Iterator<PMMLObject> it = parents.iterator();
	for(int i = 0; i < index; i++){
		it.next();
	}

	return it.next();
}
 
开发者ID:jpmml,项目名称:jpmml-model,代码行数:20,代码来源:VisitorUtil.java

示例5: transform

import org.dmg.pmml.Visitor; //导入依赖的package包/类
private void transform(File pmmlFile, File serFile, List<Class<? extends Visitor>> visitorClazzes) throws Exception {
	PMML pmml;

	try(InputStream is = new FileInputStream(pmmlFile)){
		Source source = ImportFilter.apply(new InputSource(is));

		pmml = JAXBUtil.unmarshalPMML(source);
	}

	for(Class<? extends Visitor> visitorClazz : visitorClazzes){
		Visitor visitor = visitorClazz.newInstance();

		visitor.applyTo(pmml);
	}

	try(OutputStream os = new FileOutputStream(serFile)){
		SerializationUtil.serializePMML(pmml, os);
	}
}
 
开发者ID:jpmml,项目名称:jpmml-model,代码行数:20,代码来源:SerMojo.java

示例6: load

import org.dmg.pmml.Visitor; //导入依赖的package包/类
@SuppressWarnings (
	value = {"resource"}
)
public Model load(InputStream is) throws Exception {
	CountingInputStream countingIs = new CountingInputStream(is);

	HashingInputStream hashingIs = new HashingInputStream(Hashing.md5(), countingIs);

	ModelEvaluator<?> evaluator = unmarshal(hashingIs, this.validate);

	PMML pmml = evaluator.getPMML();

	for(Class<? extends Visitor> visitorClazz : this.visitorClazzes){
		Visitor visitor = visitorClazz.newInstance();

		visitor.applyTo(pmml);
	}

	evaluator.verify();

	Model model = new Model(evaluator);
	model.putProperty(Model.PROPERTY_FILE_SIZE, countingIs.getCount());
	model.putProperty(Model.PROPERTY_FILE_MD5SUM, (hashingIs.hash()).toString());

	return model;
}
 
开发者ID:openscoring,项目名称:openscoring,代码行数:27,代码来源:ModelRegistry.java

示例7: encodeMiningModel

import org.dmg.pmml.Visitor; //导入依赖的package包/类
public MiningModel encodeMiningModel(Integer numIteration, boolean transform, Schema schema){
	MiningModel miningModel = this.object_function_.encodeMiningModel(Arrays.asList(this.models_), numIteration, schema);

	if(transform){
		List<Visitor> visitors = Arrays.<Visitor>asList(new TreeModelCompactor());

		for(Visitor visitor : visitors){
			visitor.applyTo(miningModel);
		}
	}

	return miningModel;
}
 
开发者ID:jpmml,项目名称:jpmml-lightgbm,代码行数:14,代码来源:GBDT.java

示例8: encodeMiningModel

import org.dmg.pmml.Visitor; //导入依赖的package包/类
/**
 * @see XGBoostUtil#toXGBoostSchema(Schema)
 */
public MiningModel encodeMiningModel(Integer ntreeLimit, boolean transform, Schema schema){
	MiningModel miningModel = this.gbtree.encodeMiningModel(this.obj, this.base_score, ntreeLimit, schema);

	if(transform){
		List<Visitor> visitors = Arrays.<Visitor>asList(new TreeModelCompactor());

		for(Visitor visitor : visitors){
			visitor.applyTo(miningModel);
		}
	}

	return miningModel;
}
 
开发者ID:jpmml,项目名称:jpmml-xgboost,代码行数:17,代码来源:Learner.java

示例9: encodePMML

import org.dmg.pmml.Visitor; //导入依赖的package包/类
public PMML encodePMML(Model model){
	PMML pmml = encodePMML();

	pmml.addModels(model);

	List<? extends Visitor> visitors = Arrays.asList(new MiningSchemaCleaner(), new TransformationDictionaryCleaner(), new DataDictionaryCleaner());
	for(Visitor visitor : visitors){
		visitor.applyTo(pmml);
	}

	MiningSchema miningSchema = model.getMiningSchema();

	List<MiningField> miningFields = miningSchema.getMiningFields();
	for(MiningField miningField : miningFields){
		FieldName name = miningField.getName();

		List<Decorator> decorators = getDecorators(name);
		if(decorators == null){
			continue;
		}

		DataField dataField = getDataField(name);
		if(dataField == null){
			throw new IllegalArgumentException();
		}

		for(Decorator decorator : decorators){
			decorator.decorate(dataField, miningField);
		}
	}

	Collection<Map.Entry<FieldName, FieldName>> entries = this.renamedFields.entrySet();
	for(Map.Entry<FieldName, FieldName> entry : entries){
		FieldRenamer renamer = new FieldRenamer(entry.getKey(), entry.getValue());

		renamer.applyTo(pmml);
	}

	return pmml;
}
 
开发者ID:jpmml,项目名称:jpmml-converter,代码行数:41,代码来源:ModelEncoder.java

示例10: findChained

import org.dmg.pmml.Visitor; //导入依赖的package包/类
@Test
public void findChained() throws Exception {
	PMML pmml = ResourceUtil.unmarshal(ChainedSegmentationTest.class);

	Visitor visitor = new AbstractVisitor(){

		@Override
		public VisitorAction visit(Segment segment){
			Model model = segment.getModel();

			String id = segment.getId();

			if("first".equals(id)){
				checkFields(FieldNameUtil.create("x1_squared"), model);
			} else

			if("second".equals(id)){
				checkFields(FieldNameUtil.create("x2", "x2_squared"), model);
			} else

			if("third".equals(id)){
				checkFields(FieldNameUtil.create("x3"), model);
			} else

			if("sum".equals(id)){
				checkFields(FieldNameUtil.create("first_output", "second_output", "third_output"), model);
			} else

			{
				throw new AssertionError();
			}

			return super.visit(segment);
		}
	};

	visitor.applyTo(pmml);
}
 
开发者ID:jpmml,项目名称:jpmml-model,代码行数:39,代码来源:FieldReferenceFinderTest.java

示例11: transform

import org.dmg.pmml.Visitor; //导入依赖的package包/类
@Override
public PMML transform(PMML pmml) throws Exception {

	if(this.summary){
		printSummary(pmml);
	}

	List<String> visitorClasses = this.visitorClasses;
	for(String visitorClass : visitorClasses){
		Class<?> clazz = Class.forName(visitorClass);

		long begin = System.currentTimeMillis();

		Visitor visitor = (Visitor)clazz.newInstance();
		visitor.applyTo(pmml);

		long end = System.currentTimeMillis();

		System.out.println("Applied " + clazz.getName() + " in " + (end - begin) + " ms.");

		if(this.summary){
			printSummary(pmml);
		}
	}

	return pmml;
}
 
开发者ID:jpmml,项目名称:jpmml-model,代码行数:28,代码来源:CopyExample.java

示例12: execute

import org.dmg.pmml.Visitor; //导入依赖的package包/类
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
	List<Class<? extends Visitor>> visitorClazzes = new ArrayList<>();

	boolean keepLocator = getKeepLocator();

	visitorClazzes.add(keepLocator ? LocatorTransformer.class : LocatorNullifier.class);

	List<String> visitorClasses = getVisitorClasses();
	if(visitorClasses != null){

		try {
			for(String visitorClass : visitorClasses){
				Class<?> clazz = Class.forName(visitorClass);

				visitorClazzes.add(clazz.asSubclass(Visitor.class));
			}
		} catch(ClassNotFoundException | ClassCastException e){
			throw new MojoFailureException("Invalid visitorClasses parameter", e);
		}
	}

	List<ModelSet> modelSets = getModelSets();

	if(modelSets == null || modelSets.isEmpty()){
		throw new MojoFailureException("Missing modelSets parameter");
	}

	for(ModelSet modelSet : modelSets){
		transform(modelSet, visitorClazzes);
	}
}
 
开发者ID:jpmml,项目名称:jpmml-model,代码行数:33,代码来源:SerMojo.java

示例13: accept

import org.dmg.pmml.Visitor; //导入依赖的package包/类
@Override
public VisitorAction accept(Visitor visitor){
	visitor.pushParent(this);

	VisitorAction status = PMMLObject.traverse(visitor, getMiningSchema(), getLocalTransformations(), getTargets(), getOutput(), getModelStats(), getModelExplanation(), getModelVerification());

	visitor.popParent();

	if(status == VisitorAction.TERMINATE){
		return VisitorAction.TERMINATE;
	}

	return VisitorAction.CONTINUE;
}
 
开发者ID:jpmml,项目名称:jpmml-evaluator,代码行数:15,代码来源:JavaModel.java

示例14: ensureValidity

import org.dmg.pmml.Visitor; //导入依赖的package包/类
static
protected void ensureValidity(PMMLObject object){
	List<Visitor> visitors = Arrays.<Visitor>asList(
		new UnsupportedMarkupInspector(),
		new InvalidMarkupInspector(){

			@Override
			public VisitorAction visit(Application application){
				String name = application.getName();

				if(name == null){
					return VisitorAction.SKIP;
				}

				return super.visit(application);
			}

			@Override
			public VisitorAction visit(MiningSchema miningSchema){

				if(!miningSchema.hasMiningFields()){
					return VisitorAction.SKIP;
				}

				return super.visit(miningSchema);
			}
		}
	);

	for(Visitor visitor : visitors){
		visitor.applyTo(object);
	}
}
 
开发者ID:jpmml,项目名称:jpmml-evaluator,代码行数:34,代码来源:IntegrationTestBatch.java

示例15: ModelRegistry

import org.dmg.pmml.Visitor; //导入依赖的package包/类
@Inject
public ModelRegistry(@Named("openscoring") Config config){
	Config modelRegistryConfig = config.getConfig("modelRegistry");

	List<String> visitorClassNames = modelRegistryConfig.getStringList("visitorClasses");
	for(String visitorClassName : visitorClassNames){
		Class<?> clazz;

		try {
			clazz = Class.forName(visitorClassName);
		} catch(ClassNotFoundException cnfe){
			throw new IllegalArgumentException(cnfe);
		}

		Class<? extends Visitor> visitorClazz;

		try {
			visitorClazz = clazz.asSubclass(Visitor.class);
		} catch(ClassCastException cce){
			throw new IllegalArgumentException(cce);
		}

		this.visitorClazzes.add(visitorClazz);
	}

	this.validate = modelRegistryConfig.getBoolean("validate");
}
 
开发者ID:openscoring,项目名称:openscoring,代码行数:28,代码来源:ModelRegistry.java


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