@Override public void evaluateFinal(BlockBuilder blockBuilder) { accumulator.evaluateFinal(blockBuilder); } }
@Override public void evaluateFinal(BlockBuilder blockBuilder) { accumulator.evaluateFinal(blockBuilder); } }
@Override public void evaluateFinal(BlockBuilder blockBuilder) { pagesIndex.sort(orderByChannels, orderings); Iterator<Page> pagesIterator = pagesIndex.getSortedPages(); pagesIterator.forEachRemaining(accumulator::addInput); accumulator.evaluateFinal(blockBuilder); } }
@Override public void evaluateFinal(BlockBuilder blockBuilder) { pagesIndex.sort(orderByChannels, orderings); Iterator<Page> pagesIterator = pagesIndex.getSortedPages(); pagesIterator.forEachRemaining(accumulator::addInput); accumulator.evaluateFinal(blockBuilder); } }
public void evaluate(BlockBuilder blockBuilder) { if (step.isOutputPartial()) { aggregation.evaluateIntermediate(blockBuilder); } else { aggregation.evaluateFinal(blockBuilder); } }
public void evaluate(BlockBuilder blockBuilder) { if (step.isOutputPartial()) { aggregation.evaluateIntermediate(blockBuilder); } else { aggregation.evaluateFinal(blockBuilder); } }
accumulators.get(j).evaluateFinal(output.getBlockBuilder(channel));
accumulators.get(j).evaluateFinal(output.getBlockBuilder(channel));
@Override public void processRow(BlockBuilder output, int peerGroupStart, int peerGroupEnd, int frameStart, int frameEnd) { if (frameStart < 0) { // empty frame resetAccumulator(); } else if ((frameStart == currentStart) && (frameEnd >= currentEnd)) { // same or expanding frame accumulate(currentEnd + 1, frameEnd); currentEnd = frameEnd; } else { // different frame resetAccumulator(); accumulate(frameStart, frameEnd); currentStart = frameStart; currentEnd = frameEnd; } accumulator.evaluateFinal(output); }
@Override public void processRow(BlockBuilder output, int peerGroupStart, int peerGroupEnd, int frameStart, int frameEnd) { if (frameStart < 0) { // empty frame resetAccumulator(); } else if ((frameStart == currentStart) && (frameEnd >= currentEnd)) { // same or expanding frame accumulate(currentEnd + 1, frameEnd); currentEnd = frameEnd; } else { // different frame resetAccumulator(); accumulate(frameStart, frameEnd); currentStart = frameStart; currentEnd = frameEnd; } accumulator.evaluateFinal(output); }
public static Block getFinalBlock(Accumulator accumulator) { BlockBuilder blockBuilder = accumulator.getFinalType().createBlockBuilder(null, 1000); accumulator.evaluateFinal(blockBuilder); return blockBuilder.build(); }
public static Block getFinalBlock(Accumulator accumulator) { BlockBuilder blockBuilder = accumulator.getFinalType().createBlockBuilder(null, 1000); accumulator.evaluateFinal(blockBuilder); return blockBuilder.build(); }
private static void assertLearnClassifer(Accumulator accumulator) { accumulator.addInput(getPage()); BlockBuilder finalOut = accumulator.getFinalType().createBlockBuilder(null, 1); accumulator.evaluateFinal(finalOut); Block block = finalOut.build(); Slice slice = accumulator.getFinalType().getSlice(block, 0); Model deserialized = ModelUtils.deserialize(slice); assertNotNull(deserialized, "deserialization failed"); assertTrue(deserialized instanceof Classifier, "deserialized model is not a classifier"); }
@Test public void testEvaluateClassifierPredictions() { metadata.addFunctions(extractFunctions(new MLPlugin().getFunctions())); InternalAggregationFunction aggregation = metadata.getFunctionRegistry().getAggregateFunctionImplementation( new Signature("evaluate_classifier_predictions", AGGREGATE, parseTypeSignature(StandardTypes.VARCHAR), parseTypeSignature(StandardTypes.BIGINT), parseTypeSignature(StandardTypes.BIGINT))); Accumulator accumulator = aggregation.bind(ImmutableList.of(0, 1), Optional.empty()).createAccumulator(); accumulator.addInput(getPage()); BlockBuilder finalOut = accumulator.getFinalType().createBlockBuilder(null, 1); accumulator.evaluateFinal(finalOut); Block block = finalOut.build(); String output = VARCHAR.getSlice(block, 0).toStringUtf8(); List<String> parts = ImmutableList.copyOf(Splitter.on('\n').omitEmptyStrings().split(output)); assertEquals(parts.size(), 7, output); assertEquals(parts.get(0), "Accuracy: 1/2 (50.00%)"); }