Class AttributeBasedStratifier

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

    public class AttributeBasedStratifier
    extends java.lang.Object
    implements IStratifier, 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

      • AttributeBasedStratifier

        public AttributeBasedStratifier()
      • AttributeBasedStratifier

        public AttributeBasedStratifier​(java.util.List<java.lang.Integer> attributeIndices)
      • AttributeBasedStratifier

        public AttributeBasedStratifier​(java.util.List<java.lang.Integer> attributeIndices,
                                        java.util.Map<java.lang.Integer,​AttributeDiscretizationPolicy> discretizationPolicies)
    • Method Detail

      • createStrati

        public int createStrati​(org.api4.java.ai.ml.core.dataset.IDataset<?> dataset)
        Description copied from interface: IStratifier
        Prepares the stratification technique but does not assign instances to strati.
        Specified by:
        createStrati in interface IStratifier
        Returns:
        The number of strati for the given dataset
      • 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
      • getStratum

        public int getStratum​(org.api4.java.ai.ml.core.dataset.IInstance datapoint)
        Description copied from interface: IStratifier
        Determines to which stratum this instance belongs
        Specified by:
        getStratum in interface IStratifier
        Returns:
        id of stratum
      • 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