package edu.fudan.nlp.pipe;
import edu.fudan.ml.types.Instance;
public class WeightPipe extends Pipe {
private static final long serialVersionUID = 1L;
private static float[] weight = {};
public WeightPipe(boolean b){
if(b){
weight = new float[10];
int i=0;
for(;i<5;i++){
weight[i] = 2f;
}
for(;i<10;i++){
weight[i] = 1.5f;
}
}
}
@Override
public void addThruPipe(Instance inst) throws Exception {
Object sdata = inst.getData();
int len;
if(sdata instanceof int[][]){//转换后的特征
int[][] data = (int[][]) sdata;
len = data.length;
}else{
System.err.println("WeightPipe: Error");
return;
}
float w;
if(len<weight.length)
w = weight[len-1];
else
w = 1f;
inst.setWeight(w);
}
}