Class EncoderMVImpute
- java.lang.Object
-
- org.apache.sysds.runtime.transform.encode.LegacyEncoder
-
- org.apache.sysds.runtime.transform.encode.EncoderMVImpute
-
- All Implemented Interfaces:
Externalizable
,Serializable
public class EncoderMVImpute extends LegacyEncoder
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EncoderMVImpute.MVMethod
-
Constructor Summary
Constructors Constructor Description EncoderMVImpute()
EncoderMVImpute(int[] colList, EncoderMVImpute.MVMethod[] mvMethodList, String[] replacementList, KahanObject[] meanList, long[] countList, List<Integer> rcList, int clen)
EncoderMVImpute(org.apache.wink.json4j.JSONObject parsedSpec, String[] colnames, int clen, int minCol, int maxCol)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MatrixBlock
apply(FrameBlock in, MatrixBlock out)
Encode input data blockwise according to existing transform meta data (transform apply).void
build(FrameBlock in)
Build the transform meta data for the given block input.MatrixBlock
encode(FrameBlock in, MatrixBlock out)
Block encode: build and apply (transform encode).HashMap<String,Long>
getHistogram(int colID)
Exposes the internal histogram after build.KahanObject[]
getMeans()
FrameBlock
getMetaData(FrameBlock out)
Construct a frame block out of the transform meta data.EncoderMVImpute.MVMethod
getMethod(int colID)
long
getNonMVCount(int colID)
String
getReplacement(int colID)
String[]
getReplacements()
void
initMetaData(FrameBlock meta)
Sets up the required meta data for a subsequent call to apply.void
initRecodeIDList(List<Integer> rcList)
void
mergeAt(LegacyEncoder other, int row, int col)
Merges another encoder, of a compatible type, in after a certain position.void
readExternal(ObjectInput in)
Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd deserialization.LegacyEncoder
subRangeEncoder(IndexRange ixRange)
Returns a new Encoder that only handles a sub range of columns.void
writeExternal(ObjectOutput out)
Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd serialization.-
Methods inherited from class org.apache.sysds.runtime.transform.encode.LegacyEncoder
buildPartial, getColList, getColMapping, initColList, initColList, isApplicable, isApplicable, prepareBuildPartial, setColList, shiftCols, updateIndexRanges
-
-
-
-
Constructor Detail
-
EncoderMVImpute
public EncoderMVImpute(org.apache.wink.json4j.JSONObject parsedSpec, String[] colnames, int clen, int minCol, int maxCol) throws org.apache.wink.json4j.JSONException
- Throws:
org.apache.wink.json4j.JSONException
-
EncoderMVImpute
public EncoderMVImpute()
-
EncoderMVImpute
public EncoderMVImpute(int[] colList, EncoderMVImpute.MVMethod[] mvMethodList, String[] replacementList, KahanObject[] meanList, long[] countList, List<Integer> rcList, int clen)
-
-
Method Detail
-
getReplacements
public String[] getReplacements()
-
getMeans
public KahanObject[] getMeans()
-
getMethod
public EncoderMVImpute.MVMethod getMethod(int colID)
-
getNonMVCount
public long getNonMVCount(int colID)
-
getReplacement
public String getReplacement(int colID)
-
encode
public MatrixBlock encode(FrameBlock in, MatrixBlock out)
Description copied from class:LegacyEncoder
Block encode: build and apply (transform encode).- Specified by:
encode
in classLegacyEncoder
- Parameters:
in
- input frame blockout
- output matrix block- Returns:
- output matrix block
-
build
public void build(FrameBlock in)
Description copied from class:LegacyEncoder
Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.- Specified by:
build
in classLegacyEncoder
- Parameters:
in
- input frame block
-
apply
public MatrixBlock apply(FrameBlock in, MatrixBlock out)
Description copied from class:LegacyEncoder
Encode input data blockwise according to existing transform meta data (transform apply).- Specified by:
apply
in classLegacyEncoder
- Parameters:
in
- input frame blockout
- output matrix block- Returns:
- output matrix block
-
subRangeEncoder
public LegacyEncoder subRangeEncoder(IndexRange ixRange)
Description copied from class:LegacyEncoder
Returns a new Encoder that only handles a sub range of columns.- Overrides:
subRangeEncoder
in classLegacyEncoder
- Parameters:
ixRange
- the range (1-based, begin inclusive, end exclusive)- Returns:
- an encoder of the same type, just for the sub-range
-
mergeAt
public void mergeAt(LegacyEncoder other, int row, int col)
Description copied from class:LegacyEncoder
Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.Encoders
are compatible with themselves andEncoderComposite
is compatible with every otherEncoder
.- Overrides:
mergeAt
in classLegacyEncoder
- Parameters:
other
- the encoder that should be merged inrow
- the row where it should be placed (1-based)col
- the col where it should be placed (1-based)
-
getMetaData
public FrameBlock getMetaData(FrameBlock out)
Description copied from class:LegacyEncoder
Construct a frame block out of the transform meta data.- Specified by:
getMetaData
in classLegacyEncoder
- Parameters:
out
- output frame block- Returns:
- output frame block?
-
initMetaData
public void initMetaData(FrameBlock meta)
Description copied from class:LegacyEncoder
Sets up the required meta data for a subsequent call to apply.- Specified by:
initMetaData
in classLegacyEncoder
- Parameters:
meta
- frame block
-
getHistogram
public HashMap<String,Long> getHistogram(int colID)
Exposes the internal histogram after build.- Parameters:
colID
- column ID- Returns:
- histogram (map of string keys and long values)
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
Description copied from class:LegacyEncoder
Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd serialization.- Specified by:
writeExternal
in interfaceExternalizable
- Overrides:
writeExternal
in classLegacyEncoder
- Parameters:
out
- object output- Throws:
IOException
- if IOException occurs
-
readExternal
public void readExternal(ObjectInput in) throws IOException
Description copied from class:LegacyEncoder
Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd deserialization.- Specified by:
readExternal
in interfaceExternalizable
- Overrides:
readExternal
in classLegacyEncoder
- Parameters:
in
- object input- Throws:
IOException
- if IOException occur
-
-