本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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();
}
示例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);
}
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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);
}
示例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;
}
示例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);
}
}
示例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;
}
示例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);
}
}
示例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");
}