@Override public SparseDoubleFV concatenate(List<SparseDoubleFV> ins) { SparseDoubleArray [] insValues = new SparseDoubleArray[ins.size()]; for (int i=0; i<ins.size(); i++) insValues[i] = ins.get(i).values; SparseDoubleArray vals = values.concatenate(insValues); return new SparseDoubleFV(vals); }
@Override public DoubleFV normaliseFV(double p) { return asDoubleFV().normaliseFV(p); }
@Override public DoubleFV normaliseFV() { double [] dvals = asDoubleVector(); double sum = 0; for (int i=0; i<dvals.length; i++) sum += dvals[i]; for (int i=0; i<dvals.length; i++) dvals[i] /= sum; return new DoubleFV(dvals); }
@Override public SparseDoubleFV newInstance() { return new SparseDoubleFV(length()); } }
out = new Feature[((SparseDoubleFV) feature).values.used() + extra]; for (final SparseDoubleArray.Entry entry : ((SparseDoubleFV) feature).getVector().entries()) { out[i++] = new FeatureNode(entry.index + 1, entry.value);
@Override public SparseDoubleFV newInstance() { return new SparseDoubleFV(length()); } }
@Override public SparseDoubleFV concatenate(SparseDoubleFV... ins) { SparseDoubleArray [] insValues = new SparseDoubleArray[ins.length]; for (int i=0; i<ins.length; i++) insValues[i] = ins[i].values; SparseDoubleArray vals = values.concatenate(insValues); return new SparseDoubleFV(vals); }
@Override public DoubleFV normaliseFV(double min, double max) { double [] dvals = asDoubleVector(); for (int i=0; i<dvals.length; i++) { dvals[i] -= min; dvals[i] /= (max-min); if (dvals[i]<0) dvals[i] = 0; if (dvals[i]>1) dvals[i] = 1; } return new DoubleFV(dvals); }
@Override public DoubleFV normaliseFV(double p) { return asDoubleFV().normaliseFV(p); }
@Override public SparseDoubleFV concatenate(SparseDoubleFV... ins) { SparseDoubleArray [] insValues = new SparseDoubleArray[ins.length]; for (int i=0; i<ins.length; i++) insValues[i] = ins[i].values; SparseDoubleArray vals = values.concatenate(insValues); return new SparseDoubleFV(vals); }
@Override public DoubleFV normaliseFV(double [] min, double [] max) { double [] dvals = asDoubleVector(); for (int i=0; i<dvals.length; i++) { dvals[i] -= min[i]; dvals[i] /= (max[i]-min[i]); if (dvals[i]<0) dvals[i] = 0; if (dvals[i]>1) dvals[i] = 1; } return new DoubleFV(dvals); }
@Override public SparseDoubleFV concatenate(List<SparseDoubleFV> ins) { SparseDoubleArray [] insValues = new SparseDoubleArray[ins.size()]; for (int i=0; i<ins.size(); i++) insValues[i] = ins.get(i).values; SparseDoubleArray vals = values.concatenate(insValues); return new SparseDoubleFV(vals); }
@Override public DoubleFV normaliseFV(double min, double max) { double [] dvals = asDoubleVector(); for (int i=0; i<dvals.length; i++) { dvals[i] -= min; dvals[i] /= (max-min); if (dvals[i]<0) dvals[i] = 0; if (dvals[i]>1) dvals[i] = 1; } return new DoubleFV(dvals); }
@Override public SparseDoubleFV aggregateVectors(List<? extends ArrayFeatureVector<DATATYPE>> features) { final SparseDoubleFV fv = new SparseDoubleFV(assigner.size()); for (final ArrayFeatureVector<DATATYPE> f : features) { final IndependentPair<int[], DISTANCE> a = assigner.assignWeighted(f.values); increment(fv, a); } return fv; }
@Override public DoubleFV normaliseFV() { double [] dvals = asDoubleVector(); double sum = 0; for (int i=0; i<dvals.length; i++) sum += dvals[i]; for (int i=0; i<dvals.length; i++) dvals[i] /= sum; return new DoubleFV(dvals); }
@Override public SparseDoubleFV aggregateVectors(List<? extends ArrayFeatureVector<DATATYPE>> features) { final SparseDoubleFV fv = new SparseDoubleFV(assigner.size()); for (final ArrayFeatureVector<DATATYPE> f : features) { final IndependentPair<int[], DISTANCE> a = assigner.assignWeighted(f.values); increment(fv, a); } return fv; }
@Override public DoubleFV normaliseFV(double [] min, double [] max) { double [] dvals = asDoubleVector(); for (int i=0; i<dvals.length; i++) { dvals[i] -= min[i]; dvals[i] /= (max[i]-min[i]); if (dvals[i]<0) dvals[i] = 0; if (dvals[i]>1) dvals[i] = 1; } return new DoubleFV(dvals); }
/** * Aggregate the given features into a vector. * * @param features * the features to aggregate * @return the aggregated vector */ public SparseDoubleFV aggregateVectorsRaw(List<DATATYPE> features) { final SparseDoubleFV fv = new SparseDoubleFV(assigner.size()); for (final DATATYPE f : features) { final IndependentPair<int[], DISTANCE> a = assigner.assignWeighted(f); increment(fv, a); } return fv; }
@Override public DoubleFV asDoubleFV() { return new DoubleFV(asDoubleVector()); }
/** * Aggregate the given features into a vector. * * @param features * the features to aggregate * @return the aggregated vector */ public SparseDoubleFV aggregateVectorsRaw(List<DATATYPE> features) { final SparseDoubleFV fv = new SparseDoubleFV(assigner.size()); for (final DATATYPE f : features) { final IndependentPair<int[], DISTANCE> a = assigner.assignWeighted(f); increment(fv, a); } return fv; }