368.5.3. 클래스 예측
여기서는 프로세서 를 사용하여 엔드포인트 URI에서 직접 사용할 수 없는 기능에 액세스합니다.
직접 와서 이 구문은 약간 압도적으로 표시되는 경우 Nessus API concept 에 대한 간략한 내용을 살펴볼 수 있습니다.
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();
}