Class ASamplingAlgorithm<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>

  • All Implemented Interfaces:
    java.lang.Iterable<org.api4.java.algorithm.events.IAlgorithmEvent>, java.util.concurrent.Callable<D>, java.util.Iterator<org.api4.java.algorithm.events.IAlgorithmEvent>, org.api4.java.ai.ml.core.filter.unsupervised.sampling.ISamplingAlgorithm<D>, org.api4.java.algorithm.IAlgorithm<D,​D>, org.api4.java.common.control.ICancelable, org.api4.java.common.control.ILoggingCustomizable, org.api4.java.common.event.IEventEmitter<java.lang.Object>, org.api4.java.common.event.IRelaxedEventEmitter
    Direct Known Subclasses:
    CaseControlLikeSampling, ClusterSampling, SimpleRandomSampling, StratifiedSampling, SystematicSampling

    public abstract class ASamplingAlgorithm<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
    extends ai.libs.jaicore.basic.algorithm.AAlgorithm<D,​D>
    implements org.api4.java.ai.ml.core.filter.unsupervised.sampling.ISamplingAlgorithm<D>
    An abstract class for sampling algorithms providing basic functionality of an algorithm.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected D sample  
      protected int sampleSize  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      D call()  
      protected org.api4.java.algorithm.events.IAlgorithmEvent doInactiveStep()  
      D getComplementOfLastSample()
      Gets the data point contained in the original data that are not part of the
      protected org.slf4j.Logger getLogger()  
      java.lang.String getLoggerName()  
      int getSampleSize()  
      D nextSample()  
      void setLoggerName​(java.lang.String loggerName)  
      void setSampleSize​(double relativeSize)  
      void setSampleSize​(int size)  
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.AAlgorithm

        activate, announceTimeoutDetected, avoidReinterruptionOnShutdownOnCurrentThread, cancel, checkAndConductTermination, checkTermination, computeTimeoutAware, getActivationTime, getConfig, getDeadline, getId, getInput, getListeners, getNumCPUs, getRemainingTimeToDeadline, getState, getTimeout, getTimeoutPrecautionOffset, hasNext, hasThreadBeenInterruptedDuringShutdown, interruptThreadAsPartOfShutdown, isCanceled, isShutdownInitialized, isStopCriterionSatisfied, isTimeoutDefined, isTimeouted, iterator, next, post, registerActiveThread, registerListener, resolveShutdownInterruptOnCurrentThread, setConfig, setDeadline, setMaxNumThreads, setNumCPUs, setState, setTimeout, setTimeout, setTimeoutPrecautionOffset, shutdown, terminate, unregisterActiveThread, unregisterThreadAndShutdown
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.api4.java.algorithm.IAlgorithm

        getConfig, getId, getInput, getNumCPUs, getTimeout, nextWithException, registerListener, setMaxNumThreads, setNumCPUs, setTimeout, setTimeout
      • Methods inherited from interface org.api4.java.common.control.ICancelable

        cancel
      • Methods inherited from interface java.lang.Iterable

        forEach, iterator, spliterator
      • Methods inherited from interface java.util.Iterator

        forEachRemaining, hasNext, next, remove
    • Field Detail

      • sampleSize

        protected int sampleSize
      • sample

        protected D extends org.api4.java.ai.ml.core.dataset.IDataset<?> sample
    • Constructor Detail

      • ASamplingAlgorithm

        protected ASamplingAlgorithm​(D input)
      • ASamplingAlgorithm

        protected ASamplingAlgorithm​(D input,
                                     java.lang.Class<I> instanceClass)
    • Method Detail

      • setSampleSize

        public void setSampleSize​(int size)
      • setSampleSize

        public void setSampleSize​(double relativeSize)
      • call

        public D call()
               throws java.lang.InterruptedException,
                      org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException,
                      org.api4.java.algorithm.exceptions.AlgorithmException,
                      org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException
        Specified by:
        call in interface java.util.concurrent.Callable<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
        Specified by:
        call in interface org.api4.java.algorithm.IAlgorithm<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>,​D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
        Throws:
        java.lang.InterruptedException
        org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException
        org.api4.java.algorithm.exceptions.AlgorithmException
        org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException
      • doInactiveStep

        protected org.api4.java.algorithm.events.IAlgorithmEvent doInactiveStep()
                                                                         throws org.api4.java.algorithm.exceptions.AlgorithmException
        Throws:
        org.api4.java.algorithm.exceptions.AlgorithmException
      • nextSample

        public D nextSample()
                     throws java.lang.InterruptedException,
                            org.api4.java.ai.ml.core.exception.DatasetCreationException
        Specified by:
        nextSample in interface org.api4.java.ai.ml.core.filter.unsupervised.sampling.ISamplingAlgorithm<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
        Throws:
        java.lang.InterruptedException
        org.api4.java.ai.ml.core.exception.DatasetCreationException
      • getComplementOfLastSample

        public D getComplementOfLastSample()
                                    throws org.api4.java.ai.ml.core.exception.DatasetCreationException,
                                           java.lang.InterruptedException
        Gets the data point contained in the original data that are not part of the
        Specified by:
        getComplementOfLastSample in interface org.api4.java.ai.ml.core.filter.unsupervised.sampling.ISamplingAlgorithm<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
        Returns:
        Throws:
        org.api4.java.ai.ml.core.exception.DatasetCreationException
        java.lang.InterruptedException
      • getSampleSize

        public int getSampleSize()
      • setLoggerName

        public void setLoggerName​(java.lang.String loggerName)
        Specified by:
        setLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
        Overrides:
        setLoggerName in class ai.libs.jaicore.basic.algorithm.AAlgorithm<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>,​D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
      • getLoggerName

        public java.lang.String getLoggerName()
        Specified by:
        getLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
        Overrides:
        getLoggerName in class ai.libs.jaicore.basic.algorithm.AAlgorithm<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>,​D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
      • getLogger

        protected org.slf4j.Logger getLogger()