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

Direct Known Subclasses:
  `ComEstCompressedSample`

public class ComEstSample extends AComEst
Estimate compression size based on subsample of data.

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`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, getNumColumns, getNumRows`

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

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

## Constructor Details

### ComEstSample

public ComEstSample(MatrixBlock sample, CompressionSettings cs, MatrixBlock full, int k)

### 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 Details

### 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`