public class UnsupervisedNominalFilter extends Object implements Serializable
Method encode can be used to apply binary encoding.
Referring to the result as z, binary encoding takes each
category in the nominal variable x[], and creates a column in z
containing all zeros and ones. A value of zero indicates that this
category was not present and a value of one indicates that it is present.
For example, if x[]={2, 1, 3, 4, 2, 4} then
nClasses=4, and
$$z =\left[ \begin{array} {rrrr}
0 & 1 & 0 & 0 \\
1 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1 \\
0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1
\end{array}\right ]$$
Notice that the number of columns in the result, z, is equal to the number
of distinct classes in x. The number of rows in z is
equal to the length of x.
Unfiltering can be performed using the method decode.
In this case, z is the input, and we refer to x as the output.
Binary unfiltering takes binary representation in z, and returns the
appropriate class in x.
For example, if a row in z equals \(\{0, 1, 0, 0\}\), then the return value from
decode would be \(2\) for that row. If a row in z equals \(\{1, 0, 0, 0\}\),
then the return value from decode would be \(1\) for that row.
Notice these are the same values as the first two elements of the original
x[] because classes are numbered sequentially from
\(1\) to nClasses. This ensures that the results of
decode are associated with the i-th class in x[].
| Constructor and Description |
|---|
UnsupervisedNominalFilter(int nClasses)
Constructor for
UnsupervisedNominalFilter. |
| Modifier and Type | Method and Description |
|---|---|
int |
decode(int[] z)
Decodes a binary encoded array into its nominal category.
|
int[] |
decode(int[][] z)
Decodes a matrix representing the binary encoded columns of the nominal
variable.
|
int[] |
encode(int x)
Apply forward encoding to a value.
|
int[][] |
encode(int[] x)
Encodes class data prior to its use in neural network training.
|
int |
getNumberOfClasses()
Retrieves the number of classes in the nominal variable.
|
public UnsupervisedNominalFilter(int nClasses)
UnsupervisedNominalFilter.nClasses - An int specifying the number of
categories in the nominal variable to be filtered.public int getNumberOfClasses()
int containing the number of classes in the
nominal variable.public int[][] encode(int[] x)
x - An int array containing the data to be
encoded. Class number must be in the range 1 to nClasses.int matrix containing the encoded data.public int[] encode(int x)
x - An int containing the value to be encoding.
Class number must be in the range 1 to nClasses.int array containing the encoded data.public int decode(int[] z)
encode(int) method.z - An int array containing the data to be decoded.int containing the number associated
with the category encoded in z.public int[] decode(int[][] z)
encode(int[]) method.z - An int matrix containing the data to be decoded.int array containing the decoded data.Copyright © 2020 Rogue Wave Software. All rights reserved.