/*
* LabelsOfFV.java
*
* Yaoyong Li 22/03/2007
*
* $Id: LabelsOfFV.java, v 1.0 2007-03-22 12:58:16 +0000 yaoyong $
*/
package gate.learning;
/**
* The multi-label of one feature vector (FV) (or one example).
*/
public class LabelsOfFV {
/** Number of labels of the exampele. */
public int num;
/** Labels in integer format, indexes of labels. */
public int[] labels;
/** The probability of the example has the label. */
public float[] probs;
/** Constructor, with number of labels. */
public LabelsOfFV(int n) {
this.num = n;
}
/** Constructor, with number of labels, labels and probabilities. */
public LabelsOfFV(int n, int[] labels, float[] probs) {
this.num = n;
this.labels = labels;
this.probs = probs;
}
public void setNum(int n) {
this.num = n;
}
public int getNum() {
return this.num;
}
public void setLabels(int[] labels) {
this.labels = labels;
}
public int[] getLabels() {
return this.labels;
}
public void setProbs(float[] probs) {
this.probs = probs;
}
public float[] getProbs() {
return this.probs;
}
/**
* Convert the multi-label into a string, used in the feature vector file.
*/
public String toOneLine() {
StringBuffer line = new StringBuffer();
line.append(num);
line.append(ConstantParameters.ITEMSEPARATOR);
for(int i = 0; i < num; ++i) {
line.append(labels[i]);
line.append(ConstantParameters.ITEMSEPARATOR);
line.append(probs[i]);
line.append(ConstantParameters.ITEMSEPARATOR);
}
return line.substring(0, line.length()).toString();
}
}