Class AttributeBasedStratiAmountSelectorAndAssigner

  • All Implemented Interfaces:
    IStratiAmountSelector, IStratiAssigner, org.api4.java.common.control.ILoggingCustomizable, org.api4.java.common.control.IParallelizable

    public class AttributeBasedStratiAmountSelectorAndAssigner
    extends java.lang.Object
    implements IStratiAmountSelector, IStratiAssigner, org.api4.java.common.control.ILoggingCustomizable
    This class is responsible for computing the amount of strati in attribute-based stratified sampling and assigning elements to the strati.
    • 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​(org.api4.java.ai.ml.core.dataset.IDataset<?> dataset)
        Description copied from interface: IStratiAmountSelector
        Select a suitable amount of strati for a Dataset.
        Specified by:
        selectStratiAmount in interface IStratiAmountSelector
        Parameters:
        dataset - The dataset that will be stratified.
        Returns:
        The determined amount of strati.
      • setNumCPUs

        public void setNumCPUs​(int numberOfCPUs)
        Specified by:
        setNumCPUs in interface org.api4.java.common.control.IParallelizable
      • getNumCPUs

        public int getNumCPUs()
        Specified by:
        getNumCPUs in interface org.api4.java.common.control.IParallelizable
      • init

        public void init​(org.api4.java.ai.ml.core.dataset.IDataset<?> dataset)
      • init

        public void init​(org.api4.java.ai.ml.core.dataset.IDataset<?> dataset,
                         int stratiAmount)
        Description copied from interface: IStratiAssigner
        Initialize custom assigner if necessary.
        Specified by:
        init in interface IStratiAssigner
        Parameters:
        dataset - The dataset the datapoints will be sampled from.
        stratiAmount - The predetermined amount of strati the dataset will be stratified into.
      • assignToStrati

        public int assignToStrati​(org.api4.java.ai.ml.core.dataset.IInstance datapoint)
        Description copied from interface: IStratiAssigner
        Custom logic for assigning datapoints into strati.
        Specified by:
        assignToStrati in interface IStratiAssigner
        Parameters:
        datapoint - The datapoint that has to be assigned.
        Returns:
        The index of the strati the datapoint will be assigned into.
      • getLoggerName

        public java.lang.String getLoggerName()
        Specified by:
        getLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
      • setLoggerName

        public void setLoggerName​(java.lang.String name)
        Specified by:
        setLoggerName in interface org.api4.java.common.control.ILoggingCustomizable