Encodes a categorical values with an unbounded vocabulary. Values are encoding by incrementing a
few locations in the output vector with a weight that is either defaulted to 1 or that is looked
up in a weight dictionary. By default, only one probe is used which should be fine but could
cause a decrease in the speed of learning because more features will be non-zero. If a large
feature vector is used so that the probability of feature collisions is suitably small, then this
can be decreased to 1. If a very small feature vector is used, the number of probes should
probably be increased to 3.
Provides the unique hash for a particular probe. For all encoders except text, this
is all that is needed and the default implementation of hashesForProbe will do the right
thing. For text and similar values, hashesForProbe should be over-ridden and this method
should not be used.