369.5.3. 预测类
在这里,我们使用 Processor
访问无法从端点 URI 直接提供的功能。
如果您在这里直接介绍,这种语法看起来比较困难,您可能想简要了解有关 Nessus API 概念的部分。
try (CamelContext camelctx = new DefaultCamelContext()) { camelctx.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { // Use the file component to read the test data from("file:src/test/resources/data?fileName=sfny-test.arff") // Remove the class attribute .to("weka:filter?apply=Remove -R last") // Add the 'prediction' placeholder attribute .to("weka:filter?apply=Add -N predicted -T NOM -L 0,1") // Rename the relation .to("weka:filter?apply=RenameRelation -modify sfny-predicted") // Load an already existing model .to("weka:model?loadFrom=src/test/resources/data/sfny-j48.model") // Use a processor to do the prediction .process(new Processor() { public void process(Exchange exchange) throws Exception { Dataset dataset = exchange.getMessage().getBody(Dataset.class); dataset.applyToInstances(new NominalPredictor()); } }) // Write the data file .to("weka:write?path=src/test/resources/data/sfny-predicted.arff") } }); camelctx.start(); }