Class ReservoirSampling
- java.lang.Object
-
- ai.libs.jaicore.basic.algorithm.AAlgorithm<java.io.File,java.io.File>
-
- ai.libs.jaicore.ml.core.dataset.sampling.infiles.AFileSamplingAlgorithm
-
- ai.libs.jaicore.ml.core.dataset.sampling.infiles.ReservoirSampling
-
- All Implemented Interfaces:
ai.libs.jaicore.basic.algorithm.IAlgorithm<java.io.File,java.io.File>,ai.libs.jaicore.basic.Cancelable,ai.libs.jaicore.basic.ILoggingCustomizable,java.lang.Iterable<ai.libs.jaicore.basic.algorithm.events.AlgorithmEvent>,java.util.concurrent.Callable<java.io.File>,java.util.Iterator<ai.libs.jaicore.basic.algorithm.events.AlgorithmEvent>
public class ReservoirSampling extends AFileSamplingAlgorithm
Implementation of the Reservoir Sampling algorithm(comparable to a Simple Random Sampling for streamed data). For a desired sample of size n, the first n elements of the stream are directly selected and the remaining ones will replace these with decreasing probability.
-
-
Field Summary
-
Fields inherited from class ai.libs.jaicore.ml.core.dataset.sampling.infiles.AFileSamplingAlgorithm
outputFileWriter, sampleSize
-
-
Constructor Summary
Constructors Constructor Description ReservoirSampling(java.util.Random random, java.io.File input)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcleanUp()Implement custom clean up behaviour.ai.libs.jaicore.basic.algorithm.events.AlgorithmEventnextWithException()-
Methods inherited from class ai.libs.jaicore.ml.core.dataset.sampling.infiles.AFileSamplingAlgorithm
call, setOutputFileName, setSampleSize
-
Methods inherited from class ai.libs.jaicore.basic.algorithm.AAlgorithm
activate, announceTimeoutDetected, avoidReinterruptionOnShutdownOnCurrentThread, cancel, checkAndConductTermination, checkTermination, computeTimeoutAware, getActivationTime, getConfig, getId, getInput, getLoggerName, getNumCPUs, getRemainingTimeToDeadline, getState, getTimeout, getTimeoutPrecautionOffset, hasNext, hasThreadBeenInterruptedDuringShutdown, interruptThreadAsPartOfShutdown, isCanceled, isShutdownInitialized, isStopCriterionSatisfied, isTimeouted, iterator, next, post, registerActiveThread, registerListener, resolveShutdownInterruptOnCurrentThread, setConfig, setLoggerName, setMaxNumThreads, setNumCPUs, setState, setTimeout, setTimeout, setTimeoutPrecautionOffset, shutdown, terminate, unregisterActiveThread, unregisterThreadAndShutdown
-
-
-
-
Method Detail
-
nextWithException
public ai.libs.jaicore.basic.algorithm.events.AlgorithmEvent nextWithException() throws java.lang.InterruptedException, ai.libs.jaicore.basic.algorithm.AlgorithmExecutionCanceledException, ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmException- Throws:
java.lang.InterruptedExceptionai.libs.jaicore.basic.algorithm.AlgorithmExecutionCanceledExceptionai.libs.jaicore.basic.algorithm.exceptions.AlgorithmException
-
cleanUp
protected void cleanUp()
Description copied from class:AFileSamplingAlgorithmImplement custom clean up behaviour.- Specified by:
cleanUpin classAFileSamplingAlgorithm
-
-