Package org.tribuo.regression
Class ImmutableRegressionInfo
java.lang.Object
org.tribuo.regression.RegressionInfo
org.tribuo.regression.ImmutableRegressionInfo
- All Implemented Interfaces:
Serializable
,Iterable<com.oracle.labs.mlrg.olcut.util.Pair<Integer,
,Regressor>> ImmutableOutputInfo<Regressor>
,OutputInfo<Regressor>
,ProtoSerializable<org.tribuo.protos.core.OutputDomainProto>
public class ImmutableRegressionInfo
extends RegressionInfo
implements ImmutableOutputInfo<Regressor>
A
ImmutableOutputInfo
for Regressor
s.- See Also:
-
Field Summary
Fields inherited from class org.tribuo.regression.RegressionInfo
countMap, maxMap, meanMap, minMap, overallCount, sumSquaresMap, unknownCount
Fields inherited from interface org.tribuo.protos.ProtoSerializable
DESERIALIZATION_METHOD_NAME, PROVENANCE_SERIALIZER
-
Method Summary
Modifier and TypeMethodDescriptioncopy()
Generates a copy of this OutputInfo, including it's mutability.static ImmutableRegressionInfo
deserializeFromProto
(int version, String className, com.google.protobuf.Any message) Deserialization factory.boolean
Checks if the domain is the same as the other output info's domain, and that each element is mapped to the same id number.boolean
Returns a set containing a Regressor for each dimension with the minimum value observed.int
Return the id number associated with this output, or -1 if the output is unknown.int[]
Computes the mapping between ID numbers and regressor dimension indices.double
getMax
(int id) Gets the maximum value this RegressionInfo has seen for that id.double
getMean
(int id) Gets the mean value this RegressionInfo has seen for that id.double
getMin
(int id) Gets the minimum value this RegressionInfo has seen for that id.int[]
Computes the mapping between regressor dimension indices and ID numbers.getOutput
(int id) Returns the output associated with this id, or null if the id is unknown.long
Returns the total number of observed outputs seen by this ImmutableOutputInfo.double
getVariance
(int id) Gets the variance this RegressionInfo has seen for that id.int
hashCode()
iterator()
org.tribuo.protos.core.OutputDomainProto
Serializes this object to a protobuf.Generates a String form of this OutputInfo.toString()
boolean
Returns true if the id numbers correspond to a lexicographic ordering of the dimension names starting from zero, false otherwise.Methods inherited from class org.tribuo.regression.RegressionInfo
generateImmutableOutputInfo, generateMutableOutputInfo, getMax, getMean, getMin, getUnknownCount, getVariance, outputCountsIterable, size
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface org.tribuo.OutputInfo
generateImmutableOutputInfo, generateMutableOutputInfo, getUnknownCount, outputCountsIterable, size
-
Method Details
-
deserializeFromProto
public static ImmutableRegressionInfo deserializeFromProto(int version, String className, com.google.protobuf.Any message) throws com.google.protobuf.InvalidProtocolBufferException Deserialization factory.- Parameters:
version
- The serialized object version.className
- The class name.message
- The serialized data.- Returns:
- The deserialized object.
- Throws:
com.google.protobuf.InvalidProtocolBufferException
- If the protobuf could not be parsed from themessage
.
-
serialize
public org.tribuo.protos.core.OutputDomainProto serialize()Description copied from interface:ProtoSerializable
Serializes this object to a protobuf.- Specified by:
serialize
in interfaceProtoSerializable<org.tribuo.protos.core.OutputDomainProto>
- Returns:
- The protobuf.
-
getDomain
Description copied from class:RegressionInfo
Returns a set containing a Regressor for each dimension with the minimum value observed.- Specified by:
getDomain
in interfaceOutputInfo<Regressor>
- Overrides:
getDomain
in classRegressionInfo
- Returns:
- A set of Regressors, each with one active dimension.
-
getID
Description copied from interface:ImmutableOutputInfo
Return the id number associated with this output, or -1 if the output is unknown.- Specified by:
getID
in interfaceImmutableOutputInfo<Regressor>
- Parameters:
output
- An output- Returns:
- A non-negative integer if the output is known, or -1 if the output is unknown.
-
getOutput
Description copied from interface:ImmutableOutputInfo
Returns the output associated with this id, or null if the id is unknown.- Specified by:
getOutput
in interfaceImmutableOutputInfo<Regressor>
- Parameters:
id
- A non-negative integer.- Returns:
- An output object or null if it's unknown.
-
getMin
public double getMin(int id) Gets the minimum value this RegressionInfo has seen for that id.- Parameters:
id
- The dimension to check.- Returns:
- The minimum value for that dimension.
-
getMax
public double getMax(int id) Gets the maximum value this RegressionInfo has seen for that id.- Parameters:
id
- The dimension to check.- Returns:
- The maximum value for that dimension.
-
getMean
public double getMean(int id) Gets the mean value this RegressionInfo has seen for that id.- Parameters:
id
- The dimension to check.- Returns:
- The mean value for that dimension.
-
getVariance
public double getVariance(int id) Gets the variance this RegressionInfo has seen for that id.- Parameters:
id
- The dimension to check.- Returns:
- The variance for that dimension.
-
getTotalObservations
public long getTotalObservations()Description copied from interface:ImmutableOutputInfo
Returns the total number of observed outputs seen by this ImmutableOutputInfo.- Specified by:
getTotalObservations
in interfaceImmutableOutputInfo<Regressor>
- Returns:
- The number of observed outputs.
-
copy
Description copied from interface:OutputInfo
Generates a copy of this OutputInfo, including it's mutability.- Specified by:
copy
in interfaceOutputInfo<Regressor>
- Specified by:
copy
in classRegressionInfo
- Returns:
- A copy of the OutputInfo.
-
toString
-
validateMapping
public boolean validateMapping()Returns true if the id numbers correspond to a lexicographic ordering of the dimension names starting from zero, false otherwise.- Returns:
- True if the id mapping corresponds to lexicographic ordering of the names.
-
getIDtoNaturalOrderMapping
public int[] getIDtoNaturalOrderMapping()Computes the mapping between ID numbers and regressor dimension indices.In some situations the regressor dimension ID numbers may not use the natural ordering (i.e., the lexicographic order of the dimension names). This method computes the mapping from the id numbers to the natural ordering.
- Returns:
- An array where arr[id] = natural_idx.
-
getNaturalOrderToIDMapping
public int[] getNaturalOrderToIDMapping()Computes the mapping between regressor dimension indices and ID numbers.In some situations the regressor dimension ID numbers may not use the natural ordering (i.e., the lexicographic order of the dimension names). This method computes the mapping from the natural ordering to the id numbers.
- Returns:
- An array where arr[natural_idx] = id.
-
toReadableString
Description copied from interface:OutputInfo
Generates a String form of this OutputInfo.This String can contain newlines, tabs and other formatting.
- Specified by:
toReadableString
in interfaceOutputInfo<Regressor>
- Returns:
- A formatted String representing this OutputInfo.
-
equals
-
hashCode
public int hashCode() -
iterator
-
domainAndIDEquals
Description copied from interface:ImmutableOutputInfo
Checks if the domain is the same as the other output info's domain, and that each element is mapped to the same id number.Note the default behaviour will be removed in a future major release, and should be overridden for performance reasons in all implementing classes.
- Specified by:
domainAndIDEquals
in interfaceImmutableOutputInfo<Regressor>
- Parameters:
other
- The output info to compare.- Returns:
- True if the domains and ids are the same.
-