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

  • Type Parameters:
    D -
    All Implemented Interfaces:
    org.api4.java.ai.ml.core.dataset.splitter.IDatasetSplitter<D>, org.api4.java.ai.ml.core.dataset.splitter.IFoldSizeConfigurableRandomDatasetSplitter<D>, org.api4.java.ai.ml.core.dataset.splitter.IRandomDatasetSplitter<D>, org.api4.java.ai.ml.core.evaluation.execution.IDatasetSplitSetGenerator<D>, org.api4.java.common.control.ILoggingCustomizable

    public class RandomHoldoutSplitter<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
    extends java.lang.Object
    implements org.api4.java.ai.ml.core.dataset.splitter.IRandomDatasetSplitter<D>, org.api4.java.ai.ml.core.evaluation.execution.IDatasetSplitSetGenerator<D>, org.api4.java.common.control.ILoggingCustomizable, org.api4.java.ai.ml.core.dataset.splitter.IFoldSizeConfigurableRandomDatasetSplitter<D>
    This splitter just creates random split without looking at the data.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static <D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
      java.util.List<D>
      createSplit​(D data, long seed, double... portions)  
      static <D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
      java.util.List<D>
      createSplit​(D data, long seed, org.slf4j.Logger logger, double... pPortions)
      This static method exists to enable reproducibility.
      static <D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
      D
      getFoldOfSplit​(D data, long seed, int fold, double... portions)  
      java.lang.String getLoggerName()  
      int getNumberOfFoldsPerSplit()  
      int getNumFoldsPerSplit()  
      int getNumSplitsPerSet()  
      org.api4.java.ai.ml.core.evaluation.execution.IDatasetSplitSet<D> nextSplitSet​(D data)  
      void setLoggerName​(java.lang.String name)  
      java.util.List<D> split​(D data, java.util.Random random)  
      java.util.List<D> split​(D data, java.util.Random random, double... relativeFoldSizes)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.api4.java.ai.ml.core.dataset.splitter.IRandomDatasetSplitter

        split
    • Constructor Detail

      • RandomHoldoutSplitter

        public RandomHoldoutSplitter​(double... portions)
      • RandomHoldoutSplitter

        public RandomHoldoutSplitter​(java.util.Random rand,
                                     double... portions)
    • Method Detail

      • createSplit

        public static <D extends org.api4.java.ai.ml.core.dataset.IDataset<?>> java.util.List<D> createSplit​(D data,
                                                                                                             long seed,
                                                                                                             double... portions)
                                                                                                      throws org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException,
                                                                                                             java.lang.InterruptedException
        Throws:
        org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException
        java.lang.InterruptedException
      • createSplit

        public static <D extends org.api4.java.ai.ml.core.dataset.IDataset<?>> java.util.List<D> createSplit​(D data,
                                                                                                             long seed,
                                                                                                             org.slf4j.Logger logger,
                                                                                                             double... pPortions)
                                                                                                      throws org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException,
                                                                                                             java.lang.InterruptedException
        This static method exists to enable reproducibility.
        Type Parameters:
        D -
        Parameters:
        data -
        seed -
        logger -
        portions -
        Returns:
        Throws:
        org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException
        java.lang.InterruptedException
      • getFoldOfSplit

        public static <D extends org.api4.java.ai.ml.core.dataset.IDataset<?>> D getFoldOfSplit​(D data,
                                                                                                long seed,
                                                                                                int fold,
                                                                                                double... portions)
                                                                                         throws org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException,
                                                                                                java.lang.InterruptedException
        Throws:
        org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException
        java.lang.InterruptedException
      • split

        public java.util.List<D> split​(D data,
                                       java.util.Random random)
                                throws org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException,
                                       java.lang.InterruptedException
        Specified by:
        split in interface org.api4.java.ai.ml.core.dataset.splitter.IRandomDatasetSplitter<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
        Throws:
        org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException
        java.lang.InterruptedException
      • getNumberOfFoldsPerSplit

        public int getNumberOfFoldsPerSplit()
        Specified by:
        getNumberOfFoldsPerSplit in interface org.api4.java.ai.ml.core.dataset.splitter.IDatasetSplitter<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
      • getNumSplitsPerSet

        public int getNumSplitsPerSet()
        Specified by:
        getNumSplitsPerSet in interface org.api4.java.ai.ml.core.evaluation.execution.IDatasetSplitSetGenerator<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
      • getNumFoldsPerSplit

        public int getNumFoldsPerSplit()
        Specified by:
        getNumFoldsPerSplit in interface org.api4.java.ai.ml.core.evaluation.execution.IDatasetSplitSetGenerator<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
      • nextSplitSet

        public org.api4.java.ai.ml.core.evaluation.execution.IDatasetSplitSet<D> nextSplitSet​(D data)
                                                                                       throws java.lang.InterruptedException,
                                                                                              org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException
        Specified by:
        nextSplitSet in interface org.api4.java.ai.ml.core.evaluation.execution.IDatasetSplitSetGenerator<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
        Throws:
        java.lang.InterruptedException
        org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException
      • 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
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • split

        public java.util.List<D> split​(D data,
                                       java.util.Random random,
                                       double... relativeFoldSizes)
                                throws org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException,
                                       java.lang.InterruptedException
        Specified by:
        split in interface org.api4.java.ai.ml.core.dataset.splitter.IFoldSizeConfigurableRandomDatasetSplitter<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
        Throws:
        org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException
        java.lang.InterruptedException