/** * return a new feature vector which is exactly the same as the original * one, except for shifting each index by "gap". * * @param gap * @return */ public FeatureVector copyWithShift(int gap) { FeatureVector res = new FeatureVector(this.idx, this.value); for (int i = 0; i < res.idx.length; i++) { res.idx[i] += gap; assert res.idx[i] >= 0; } return res; }
return new FeatureVector(idx, values);
ri.fea_list.add(new FeatureVector(idx_list, value_list));
value_list[active_len-1] = 1; FeatureVector fv = new FeatureVector(idx_list, value_list); MultiClassInstance mi = new MultiClassInstance(n_feature, n_class, fv);
value_list[active_len-1] = 1; FeatureVector fv = new FeatureVector(idx_list, value_list); MultiClassInstance mi = new MultiClassInstance(n_feature, n_class, fv);
/** * return a new vector for (a-b) * * @param a * @param b * @return */ public static FeatureVector minus(FeatureVector a, FeatureVector b) { FeatureVector fv = null; List<FeatureItem> af = convert2SortedFeatureNodeArray(a); List<FeatureItem> bf = convert2SortedFeatureNodeArray(b); Pair<int[], double[]> p = minus(af, bf); fv = new FeatureVector(p.getFirst(), p.getSecond()); return fv; }
/** * return a new feature vector for a + b * * @param a * @param b * @return */ public static FeatureVector plus(FeatureVector a, FeatureVector b) { FeatureVector fv = null; List<FeatureItem> af = convert2SortedFeatureNodeArray(a); List<FeatureItem> bf = convert2SortedFeatureNodeArray(b); Pair<int[], double[]> p = plus(af, bf); fv = new FeatureVector(p.getFirst(), p.getSecond()); return fv; }