Class DataAugmentation

java.lang.Object
org.apache.sysds.utils.DataAugmentation

public class DataAugmentation extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static FrameBlock
    dataCorruption(FrameBlock input, double pTypo, double pMiss, double pDrop, double pOut, double pSwap, int seed)
    This function returns a new frame block with error introduced in the data: Typos in string values, null values, outliers in numeric data and swapped elements.
    static FrameBlock
    miss(FrameBlock frame, double pMiss, double pDrop, int seed)
    This function modifies the given, preprocessed frame block to add missing values to some of the rows, marking them with the label missing.
    static FrameBlock
    outlier(FrameBlock frame, List<Integer> numerics, double pOut, double pPos, int times, int seed)
    This function modifies the given, preprocessed frame block to add outliers to some of the numeric data of the frame, adding or several times the standard deviation, and marking them with the label outlier.
    static FrameBlock
    preprocessing(FrameBlock frame, List<Integer> numerics, List<Integer> strings, List<Integer> swappable)
    This function returns a new frame block with a labels column added, and build the lists with column index of the different types of data.
    static FrameBlock
    swap(FrameBlock frame, List<Integer> swappable, double pSwap, int seed)
    This function modifies the given, preprocessed frame block to add swapped fields of the same ValueType that are consecutive, marking them with the label swap.
    static FrameBlock
    typos(FrameBlock frame, List<Integer> strings, double pTypo, int seed)
    This function modifies the given, preprocessed frame block to add typos to the string values, marking them with the label typos.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DataAugmentation

      public DataAugmentation()
  • Method Details

    • dataCorruption

      public static FrameBlock dataCorruption(FrameBlock input, double pTypo, double pMiss, double pDrop, double pOut, double pSwap, int seed)
      This function returns a new frame block with error introduced in the data: Typos in string values, null values, outliers in numeric data and swapped elements.
      Parameters:
      input - Original frame block
      pTypo - Probability of introducing a typo in a row
      pMiss - Probability of introducing missing values in a row
      pDrop - Probability of dropping a value inside a row
      pOut - Probability of introducing outliers in a row
      pSwap - Probability swapping two elements in a row
      seed - The seed for the random generation of errors
      Returns:
      A new FrameBlock with corrupted elements
    • preprocessing

      public static FrameBlock preprocessing(FrameBlock frame, List<Integer> numerics, List<Integer> strings, List<Integer> swappable)
      This function returns a new frame block with a labels column added, and build the lists with column index of the different types of data.
      Parameters:
      frame - Original frame block
      numerics - Empty list to return the numeric positions
      strings - Empty list to return the string positions
      swappable - Empty list to return the swappable positions
      Returns:
      A new frameblock with a labels column
    • typos

      public static FrameBlock typos(FrameBlock frame, List<Integer> strings, double pTypo, int seed)
      This function modifies the given, preprocessed frame block to add typos to the string values, marking them with the label typos.
      Parameters:
      frame - Original frame block
      strings - List with the columns of string type that can be changed, generated during preprocessing or manually selected
      pTypo - Probability of adding a typo to a row
      seed - The seed for the random behavior
      Returns:
      A new frameblock with typos
    • miss

      public static FrameBlock miss(FrameBlock frame, double pMiss, double pDrop, int seed)
      This function modifies the given, preprocessed frame block to add missing values to some of the rows, marking them with the label missing.
      Parameters:
      frame - Original frame block
      pMiss - Probability of adding missing values to a row
      pDrop - Probability of dropping a value
      seed - The seed for randomness
      Returns:
      A new frameblock with missing values
    • outlier

      public static FrameBlock outlier(FrameBlock frame, List<Integer> numerics, double pOut, double pPos, int times, int seed)
      This function modifies the given, preprocessed frame block to add outliers to some of the numeric data of the frame, adding or several times the standard deviation, and marking them with the label outlier.
      Parameters:
      frame - Original frame block
      numerics - List with the columns of numeric type that can be changed, generated during preprocessing or manually selected
      pOut - Probability of introducing an outlier in a row
      pPos - Probability of using positive deviation
      times - Times the standard deviation is added
      seed - The seed for randomness
      Returns:
      A new frameblock with outliers
    • swap

      public static FrameBlock swap(FrameBlock frame, List<Integer> swappable, double pSwap, int seed)
      This function modifies the given, preprocessed frame block to add swapped fields of the same ValueType that are consecutive, marking them with the label swap.
      Parameters:
      frame - Original frame block
      swappable - List with the columns that are swappable, generated during preprocessing
      pSwap - Probability of swapping two fields in a row
      seed - seed
      Returns:
      A new frameblock with swapped elements