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

  • 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.common.control.ILoggingCustomizable

    public class FilterBasedDatasetSplitter<D extends org.api4.java.ai.ml.core.dataset.IDataset<?>>
    extends java.lang.Object
    implements org.api4.java.ai.ml.core.dataset.splitter.IDatasetSplitter<D>, org.api4.java.ai.ml.core.dataset.splitter.IFoldSizeConfigurableRandomDatasetSplitter<D>, org.api4.java.common.control.ILoggingCustomizable
    • Constructor Detail

      • FilterBasedDatasetSplitter

        public FilterBasedDatasetSplitter​(ISamplingAlgorithmFactory<D,​?> samplerFactory,
                                          double relSampleSize,
                                          java.util.Random random)
    • Method Detail

      • split

        public java.util.List<D> split​(D data)
                                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.IDatasetSplitter<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<?>>
      • 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
      • getSplit

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

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

        public static <D extends org.api4.java.ai.ml.core.dataset.IDataset<?>> java.util.List<D> getSplit​(D data,
                                                                                                          ISamplingAlgorithmFactory<D,​?> samplerFactory,
                                                                                                          long seed,
                                                                                                          org.slf4j.Logger logger,
                                                                                                          double... relativeFoldSizes)
                                                                                                   throws java.lang.InterruptedException,
                                                                                                          org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException
        Throws:
        java.lang.InterruptedException
        org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException
      • getFoldOfSplit

        public static <D extends org.api4.java.ai.ml.core.dataset.IDataset<?>> D getFoldOfSplit​(D data,
                                                                                                ISamplingAlgorithmFactory<D,​?> samplerFactory,
                                                                                                long seed,
                                                                                                int fold,
                                                                                                java.util.List<java.lang.Double> relativeFoldSizes)
                                                                                         throws java.lang.InterruptedException,
                                                                                                org.api4.java.ai.ml.core.dataset.splitter.SplitFailedException
        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