Package org.apache.sysds.runtime.compress.estim

## Class ComEstSample

- java.lang.Object
- - org.apache.sysds.runtime.compress.estim.AComEst
  - - org.apache.sysds.runtime.compress.estim.ComEstSample

    public class ComEstSample
    extends AComEst

Estimate compression size based on subsample of data.

### Constructor Summary

Constructors
`ComEstSample​(MatrixBlock data, CompressionSettings cs, int sampleSize, int k)` CompressedSizeEstimatorSample, samples from the input data and estimates the size of the compressed matrix.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`CompressedSizeInfoColGroup` `getColGroupInfo​(IColIndex colIndexes, int estimate, int maxDistinct)` A method to extract the Compressed Size Info for a given list of columns, This method further limits the estimated number of unique values, since in some cases the estimated number of uniques is estimated higher than the number estimated in sub groups of the given colIndexes.
`CompressedSizeInfoColGroup` `getDeltaColGroupInfo​(IColIndex colIndexes, int estimate, int maxDistinct)` A method to extract the Compressed Size Info for a given list of columns, This method further limits the estimated number of unique values, since in some cases the estimated number of uniques is estimated higher than the number estimated in sub groups of the given colIndexes.
`static int[]` `getSortedSample​(int range, int sampleSize, long seed, int k)`
`String` `toString()`

### Methods inherited from class org.apache.sysds.runtime.compress.estim.AComEst

`clearNNZ, combine, combine, computeCompressedSizeInfos, getColGroupInfo, getDeltaColGroupInfo`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### ComEstSample

    public ComEstSample​(MatrixBlock data,
                        CompressionSettings cs,
                        int sampleSize,
                        int k)

CompressedSizeEstimatorSample, samples from the input data and estimates the size of the compressed matrix.

Parameters:
  `data` - The input data toSample from
  `cs` - The Settings used for the sampling, and compression, contains information such as seed.
  `sampleSize` - The size to sample from the data.
  `k` - The parallelization degree allowed.

### Method Detail

#### getColGroupInfo

    public CompressedSizeInfoColGroup getColGroupInfo​(IColIndex colIndexes,
                                                      int estimate,
                                                      int maxDistinct)

Description copied from class: `AComEst`
A method to extract the Compressed Size Info for a given list of columns, This method further limits the estimated number of unique values, since in some cases the estimated number of uniques is estimated higher than the number estimated in sub groups of the given colIndexes.

Specified by:
  `getColGroupInfo` in class `AComEst`
Parameters:
  `colIndexes` - The columns to extract compression information from
  `estimate` - An estimate of number of unique elements in these columns
  `maxDistinct` - The upper bound of unique elements allowed in the estimate, can be calculated from the number of unique elements estimated in sub columns multiplied together. This is flexible in the sense that if the sample is small then this unique can be manually edited like in CoCodeCostMatrixMult.
Returns:
  The CompressedSizeInfoColGroup for the given column indexes.

#### getDeltaColGroupInfo

    public CompressedSizeInfoColGroup getDeltaColGroupInfo​(IColIndex colIndexes,
                                                           int estimate,
                                                           int maxDistinct)

Description copied from class: `AComEst`
A method to extract the Compressed Size Info for a given list of columns, This method further limits the estimated number of unique values, since in some cases the estimated number of uniques is estimated higher than the number estimated in sub groups of the given colIndexes. The Difference for this method is that it extract the values as delta values from the matrix block input.

Specified by:
  `getDeltaColGroupInfo` in class `AComEst`
Parameters:
  `colIndexes` - The columns to extract compression information from
  `estimate` - An estimate of number of unique delta elements in these columns
  `maxDistinct` - The upper bound of unique elements allowed in the estimate, can be calculated from the number of unique elements estimated in sub columns multiplied together. This is flexible in the sense that if the sample is small then this unique can be manually edited like in CoCodeCostMatrixMult.
Returns:
  The CompressedSizeInfoColGroup for the given column indexes.

#### getSortedSample

    public static int[] getSortedSample​(int range,
                                        int sampleSize,
                                        long seed,
                                        int k)

#### toString

    public String toString()

Overrides:
  `toString` in class `AComEst`