Package org.tribuo
Class ImmutableFeatureMap
java.lang.Object
org.tribuo.FeatureMap
org.tribuo.ImmutableFeatureMap
- All Implemented Interfaces:
Serializable
,Iterable<VariableInfo>
- Direct Known Subclasses:
HashedFeatureMap
ImmutableFeatureMap is used when unknown features should not be added to the FeatureMap.
It's also got feature ids as those are only generated for immutable maps.
The feature ids are generated by sorting the feature names by the String comparator.
This ensures that any Example with sorted names has sorted int ids, even if some of
those features are unobserved. This is an extremely important property of Feature
s,
Example
s and ImmutableFeatureMap
.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected final Map<Integer,
VariableIDInfo> The map from id numbers to the feature infos.protected int
The number of features.Fields inherited from class org.tribuo.FeatureMap
m
-
Constructor Summary
ModifierConstructorDescriptionprotected
Constructs a new empty immutable feature map.ImmutableFeatureMap
(List<VariableInfo> infoList) Constructs a new immutable feature map copying the supplied variable infos and generating appropriate ID numbers.Constructs a new immutable version which is a deep copy of the supplied feature map, generating new ID numbers. -
Method Summary
Modifier and TypeMethodDescriptionstatic Map<String,
VariableIDInfo> generateIDs
(List<? extends VariableInfo> list) Generates the feature ids by sorting the features with the String comparator, then sequentially numbering them.static Map<String,
VariableIDInfo> generateIDs
(FeatureMap map) Generates the feature ids by sorting the features with the String comparator, then sequentially numbering them.get
(int id) Gets theVariableIDInfo
for this id number.Gets theVariableIDInfo
for this name.int
Gets the id number for this feature, returns -1 if it's unknown.int
size()
Returns the number of features in the domain.Methods inherited from class org.tribuo.FeatureMap
domainEquals, iterator, keySet, toReadableString, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
idMap
The map from id numbers to the feature infos. -
size
protected int sizeThe number of features.
-
-
Constructor Details
-
ImmutableFeatureMap
Constructs a new immutable version which is a deep copy of the supplied feature map, generating new ID numbers.The new id numbers will be the same as the old ones (if they existed) assuming this is a regular feature map.
- Parameters:
map
- The map to copy.
-
ImmutableFeatureMap
Constructs a new immutable feature map copying the supplied variable infos and generating appropriate ID numbers.- Parameters:
infoList
- The variable infos.
-
ImmutableFeatureMap
protected ImmutableFeatureMap()Constructs a new empty immutable feature map.Used for mocking feature domains in tests.
-
-
Method Details
-
get
Gets theVariableIDInfo
for this id number. Returns null if it's unknown.- Parameters:
id
- The id number to lookup.- Returns:
- The VariableInfo, or null.
-
get
Gets theVariableIDInfo
for this name. Returns null if it's unknown.- Overrides:
get
in classFeatureMap
- Parameters:
name
- The name to lookup.- Returns:
- The VariableInfo, or null.
-
getID
Gets the id number for this feature, returns -1 if it's unknown.- Parameters:
name
- The name of the feature.- Returns:
- A non-negative integer if the feature is known, -1 otherwise.
-
size
public int size()Description copied from class:FeatureMap
Returns the number of features in the domain.- Overrides:
size
in classFeatureMap
- Returns:
- The number of features.
-
generateIDs
Generates the feature ids by sorting the features with the String comparator, then sequentially numbering them.- Parameters:
map
- A feature map to convert.- Returns:
- A map from feature names to VariableIDInfo objects.
-
generateIDs
Generates the feature ids by sorting the features with the String comparator, then sequentially numbering them.- Parameters:
list
- A list ofVariableInfo
s to generate a map from.- Returns:
- A map from feature names to VariableIDInfo objects.
-