Class CaseControlLikeSampling<I extends ILabeledInstance<?>,D extends IDataset<I>>
- java.lang.Object
-
- ai.libs.jaicore.basic.algorithm.AAlgorithm<D,D>
-
- ai.libs.jaicore.ml.core.dataset.sampling.inmemory.ASamplingAlgorithm<I,D>
-
- ai.libs.jaicore.ml.core.dataset.sampling.inmemory.casecontrol.CaseControlLikeSampling<I,D>
-
- All Implemented Interfaces:
ai.libs.jaicore.basic.algorithm.IAlgorithm<D,D>,ai.libs.jaicore.basic.Cancelable,ai.libs.jaicore.basic.ILoggingCustomizable,ISamplingAlgorithm<D>,java.lang.Iterable<ai.libs.jaicore.basic.algorithm.events.AlgorithmEvent>,java.util.concurrent.Callable<D>,java.util.Iterator<ai.libs.jaicore.basic.algorithm.events.AlgorithmEvent>
- Direct Known Subclasses:
CaseControlSampling,ClassifierWeightedSampling,PilotEstimateSampling
public abstract class CaseControlLikeSampling<I extends ILabeledInstance<?>,D extends IDataset<I>> extends ASamplingAlgorithm<I,D>
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<ai.libs.jaicore.basic.sets.Pair<I,java.lang.Double>>probabilityBoundariesprotected java.util.Randomrand-
Fields inherited from class ai.libs.jaicore.ml.core.dataset.sampling.inmemory.ASamplingAlgorithm
sample, sampleSize
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedCaseControlLikeSampling(D input)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.List<ai.libs.jaicore.basic.sets.Pair<I,java.lang.Double>>calculateInstanceBoundaries(java.util.HashMap<java.lang.Object,java.lang.Integer> classOccurrences, int numberOfClasses)protected java.util.HashMap<java.lang.Object,java.lang.Integer>countClassOccurrences(D dataset)Count occurrences of every class.java.util.List<ai.libs.jaicore.basic.sets.Pair<I,java.lang.Double>>getProbabilityBoundaries()voidsetProbabilityBoundaries(java.util.List<ai.libs.jaicore.basic.sets.Pair<I,java.lang.Double>> probabilityBoundaries)-
Methods inherited from class ai.libs.jaicore.ml.core.dataset.sampling.inmemory.ASamplingAlgorithm
call, doInactiveStep, getComplement, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
rand
protected java.util.Random rand
-
probabilityBoundaries
protected java.util.List<ai.libs.jaicore.basic.sets.Pair<I extends ILabeledInstance<?>,java.lang.Double>> probabilityBoundaries
-
-
Constructor Detail
-
CaseControlLikeSampling
protected CaseControlLikeSampling(D input)
-
-
Method Detail
-
getProbabilityBoundaries
public java.util.List<ai.libs.jaicore.basic.sets.Pair<I,java.lang.Double>> getProbabilityBoundaries()
-
setProbabilityBoundaries
public void setProbabilityBoundaries(java.util.List<ai.libs.jaicore.basic.sets.Pair<I,java.lang.Double>> probabilityBoundaries)
-
countClassOccurrences
protected java.util.HashMap<java.lang.Object,java.lang.Integer> countClassOccurrences(D dataset)
Count occurrences of every class. Needed to determine the probability for all instances of that class- Parameters:
dataset- Dataset of the sample algorithm object- Returns:
- HashMap of occurrences
- Throws:
java.lang.ClassNotFoundException
-
calculateInstanceBoundaries
protected java.util.List<ai.libs.jaicore.basic.sets.Pair<I,java.lang.Double>> calculateInstanceBoundaries(java.util.HashMap<java.lang.Object,java.lang.Integer> classOccurrences, int numberOfClasses)
-
-