|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object cc.mallet.types.Instance
public class Instance
A machine learning "example" to be used in training, testing or performance of various machine learning algorithms.
An instance contains four generic fields of predefined name: "data", "target", "name", and "source". "Data" holds the data represented `by the instance, "target" is often a label associated with the instance, "name" is a short identifying name for the instance (such as a filename), and "source" is human-readable sourceinformation, (such as the original text).
Each field has no predefined type, and may change type as the instance
is processed. For example, the data field may start off being a string that
represents a file name and then be processed by a Pipe
into a CharSequence
representing the contents of the file, and eventually to a feature vector
holding indices into an Alphabet
holding words found in the file.
It is up to each pipe which fields in the Instance it modifies; the most common
case is that the pipe modifies the data field.
Generally speaking, there are two modes of operation for Instances. (1) An instance gets created and passed through a Pipe, and the resulting data/target/name/source fields are used. This is generally done for training instances. (2) An instance gets created with raw values in its slots, then different users of the instance call newPipedCopy() with their respective different pipes. This might be done for test instances at "performance" time.
Rather than store an Alphabet
in the Instance,
we obtain it through the Pipe instance variable, because the Pipe also
indicates where the data came from and how to interpret the Alphabet.
Instances can be made immutable if locked. Although unlocked Instances are mutable, typically the only code that changes the values in the four slots is inside Pipes.
Note that constructing an instance with a pipe argument means
"Construct the instance and then run it through the pipe".
InstanceList
uses this method
when adding instances through a pipeInputIterator.
Pipe
,
Alphabet
,
InstanceList
,
Serialized FormField Summary | |
---|---|
protected java.lang.Object |
data
|
protected java.lang.Object |
name
|
protected java.lang.Object |
source
|
protected java.lang.Object |
target
|
Constructor Summary | |
---|---|
Instance(java.lang.Object data,
java.lang.Object target,
java.lang.Object name,
java.lang.Object source)
In certain unusual circumstances, you might want to create an Instance without sending it through a pipe. |
Method Summary | |
---|---|
boolean |
alphabetsMatch(AlphabetCarrying object)
|
void |
clearSource()
|
java.lang.Object |
clone()
|
Alphabet |
getAlphabet()
|
Alphabet[] |
getAlphabets()
|
java.lang.Object |
getData()
|
Alphabet |
getDataAlphabet()
|
Labeling |
getLabeling()
|
java.lang.Object |
getName()
|
double |
getNumericProperty(java.lang.String key)
|
PropertyList |
getProperties()
Deprecated. |
java.lang.Object |
getProperty(java.lang.String key)
|
java.lang.Object |
getSource()
|
java.lang.Object |
getTarget()
|
Alphabet |
getTargetAlphabet()
|
boolean |
hasProperty(java.lang.String key)
|
boolean |
isLocked()
|
void |
lock()
|
void |
setData(java.lang.Object d)
|
void |
setLabeling(Labeling l)
|
void |
setName(java.lang.Object n)
|
void |
setNumericProperty(java.lang.String key,
double value)
|
void |
setProperty(java.lang.String key,
java.lang.Object value)
|
void |
setPropertyList(PropertyList p)
Deprecated. |
void |
setSource(java.lang.Object s)
|
void |
setTarget(java.lang.Object t)
|
Instance |
shallowCopy()
|
void |
unLock()
|
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.lang.Object data
protected java.lang.Object target
protected java.lang.Object name
protected java.lang.Object source
Constructor Detail |
---|
public Instance(java.lang.Object data, java.lang.Object target, java.lang.Object name, java.lang.Object source)
Method Detail |
---|
public java.lang.Object getData()
public java.lang.Object getTarget()
public java.lang.Object getName()
public java.lang.Object getSource()
public Alphabet getDataAlphabet()
public Alphabet getTargetAlphabet()
public Alphabet getAlphabet()
getAlphabet
in interface AlphabetCarrying
public Alphabet[] getAlphabets()
getAlphabets
in interface AlphabetCarrying
public boolean alphabetsMatch(AlphabetCarrying object)
public boolean isLocked()
public void lock()
public void unLock()
public Labeling getLabeling()
public void setData(java.lang.Object d)
public void setTarget(java.lang.Object t)
public void setLabeling(Labeling l)
public void setName(java.lang.Object n)
public void setSource(java.lang.Object s)
public void clearSource()
public Instance shallowCopy()
public java.lang.Object clone()
clone
in class java.lang.Object
public void setProperty(java.lang.String key, java.lang.Object value)
public void setNumericProperty(java.lang.String key, double value)
@Deprecated public PropertyList getProperties()
@Deprecated public void setPropertyList(PropertyList p)
public java.lang.Object getProperty(java.lang.String key)
public double getNumericProperty(java.lang.String key)
public boolean hasProperty(java.lang.String key)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |