Class AttributeBasedStratiAmountSelectorAndAssigner<I extends ILabeledAttributeArrayInstance<?>,D extends IOrderedLabeledAttributeArrayDataset<I,?>>
- java.lang.Object
-
- ai.libs.jaicore.ml.core.dataset.sampling.inmemory.stratified.sampling.AttributeBasedStratiAmountSelectorAndAssigner<I,D>
-
- All Implemented Interfaces:
IStratiAmountSelector<D>,IStratiAssigner<I,D>
public class AttributeBasedStratiAmountSelectorAndAssigner<I extends ILabeledAttributeArrayInstance<?>,D extends IOrderedLabeledAttributeArrayDataset<I,?>> extends java.lang.Object implements IStratiAmountSelector<D>, IStratiAssigner<I,D>
This class is responsible for computing the amount of strati in attribute-based stratified sampling and assigning elements to the strati.
-
-
Constructor Summary
Constructors Constructor Description AttributeBasedStratiAmountSelectorAndAssigner()SCALE-54: Explicitly allow to not provide an attribute listAttributeBasedStratiAmountSelectorAndAssigner(java.util.List<java.lang.Integer> attributeIndices)AttributeBasedStratiAmountSelectorAndAssigner(java.util.List<java.lang.Integer> attributeIndices, DiscretizationHelper.DiscretizationStrategy discretizationStrategy, int numberOfCategories)AttributeBasedStratiAmountSelectorAndAssigner(java.util.List<java.lang.Integer> attributeIndices, java.util.Map<java.lang.Integer,AttributeDiscretizationPolicy> discretizationPolicies)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intassignToStrati(I datapoint)Custom logic for assigning datapoints into strati.intgetNumCPUs()voidinit(D dataset)Initializes the algorithm for stratum assignment.voidinit(D dataset, int stratiAmount)Initialize custom assigner if necessary.intselectStratiAmount(D dataset)Select a suitable amount of strati for a Dataset.voidsetNumCPUs(int numberOfCPUs)Sets the number of CPU cores that can be used for parallel computation
-
-
-
Constructor Detail
-
AttributeBasedStratiAmountSelectorAndAssigner
public AttributeBasedStratiAmountSelectorAndAssigner()
SCALE-54: Explicitly allow to not provide an attribute list
-
AttributeBasedStratiAmountSelectorAndAssigner
public AttributeBasedStratiAmountSelectorAndAssigner(java.util.List<java.lang.Integer> attributeIndices)
-
AttributeBasedStratiAmountSelectorAndAssigner
public AttributeBasedStratiAmountSelectorAndAssigner(java.util.List<java.lang.Integer> attributeIndices, DiscretizationHelper.DiscretizationStrategy discretizationStrategy, int numberOfCategories)
-
AttributeBasedStratiAmountSelectorAndAssigner
public AttributeBasedStratiAmountSelectorAndAssigner(java.util.List<java.lang.Integer> attributeIndices, java.util.Map<java.lang.Integer,AttributeDiscretizationPolicy> discretizationPolicies)
-
-
Method Detail
-
selectStratiAmount
public int selectStratiAmount(D dataset)
Description copied from interface:IStratiAmountSelectorSelect a suitable amount of strati for a Dataset.- Specified by:
selectStratiAmountin interfaceIStratiAmountSelector<I extends ILabeledAttributeArrayInstance<?>>- Parameters:
dataset- The dataset that will be stratified.- Returns:
- The determined amount of strati.
-
setNumCPUs
public void setNumCPUs(int numberOfCPUs)
Description copied from interface:IStratiAmountSelectorSets the number of CPU cores that can be used for parallel computation- Specified by:
setNumCPUsin interfaceIStratiAmountSelector<I extends ILabeledAttributeArrayInstance<?>>- Specified by:
setNumCPUsin interfaceIStratiAssigner<I extends ILabeledAttributeArrayInstance<?>,D extends IOrderedLabeledAttributeArrayDataset<I,?>>
-
getNumCPUs
public int getNumCPUs()
- Specified by:
getNumCPUsin interfaceIStratiAmountSelector<I extends ILabeledAttributeArrayInstance<?>>- Specified by:
getNumCPUsin interfaceIStratiAssigner<I extends ILabeledAttributeArrayInstance<?>,D extends IOrderedLabeledAttributeArrayDataset<I,?>>
-
init
public void init(D dataset, int stratiAmount)
Description copied from interface:IStratiAssignerInitialize custom assigner if necessary.- Specified by:
initin interfaceIStratiAssigner<I extends ILabeledAttributeArrayInstance<?>,D extends IOrderedLabeledAttributeArrayDataset<I,?>>- Parameters:
dataset- The dataset the datapoints will be sampled from.stratiAmount- The predetermined amount of strati the dataset will be stratified into.
-
init
public void init(D dataset)
Initializes the algorithm for stratum assignment.- Parameters:
dataset-
-
assignToStrati
public int assignToStrati(I datapoint)
Description copied from interface:IStratiAssignerCustom logic for assigning datapoints into strati.- Specified by:
assignToStratiin interfaceIStratiAssigner<I extends ILabeledAttributeArrayInstance<?>,D extends IOrderedLabeledAttributeArrayDataset<I,?>>- Parameters:
datapoint- The datapoint that has to be assigned.- Returns:
- The index of the strati the datapoint will be assigned into.
-
-