This transformer fits a range of numbers into a different range (or scale), in a process called Normalization (specifically Unity Based Normalization), or Min-Max Feature Scaling.
Input Ports
Input: Incoming data. Values to be normalized must be numeric. Features with non-numeric values will be rejected and the results calculated from the remaining records.
Output Ports
Output: The outgoing data with the result in a new attribute called _NormalizedValue
Rejected: Any features rejected by the process.
Feature order is unaffected by any processes in this transformer.
Parameters
Attribute to Normalize: The attribute containing the values to be normalized.
New Scale Minimum: The minimum value for the new scale
New Scale Maximum: The maximum value for the new scale
Example
The area of each country in the world is calculated and passed to the transformer.
The area value is the attribute to be normalized.
The new scale minimum is set to 1.
The new scale maximum is set to 10.
The results of the process are:
The smallest country, (Vatican City) is on the minimum end of the scale, with the value 1
The largest country, (Russia) is on the maximum end of the scale, with the value 10
Canada has the value 6.28
Greenland has the value 2.14
Notes
It appears to work fine if New Scale Minimum is larger than New Scale Maximum. For instance, if (in the above example) the minimum was 10 and the maximum was 1, then the Vatican City would get a result of 10 and Russia a result of 1.
When the Scale Minimum and Maximum parameters are assigned using attributes, the values should usually be the same for each feature. If they are different, then the lowest minimum will be used for the new scale minimum, and the highest maximum will be used for the new scale maximum.
For example:
Feature ID
New Scale Minimum
New Scale Maximum
1
4
10
2
7
15
3
1
13
4
5
1
Then New Scale Minimum = 1 and New Scale Maximum = 15
Would you like to know more? Click here to find out more details!