@Override public void addToVector(byte[] originalForm, double weight, Vector data) { int probes = getProbes(); String name = getName(); for (int i = 0; i < probes; i++) { int n = hashForProbe(originalForm, data.size(), name, i); if (isTraceEnabled()) { trace((String) null, n); } data.set(n, data.get(n) + getWeight(originalForm,weight)); } }
@Override public String asString(String originalForm) { return getName(); }
public static void main(String[] args) throws IOException { FeatureVectorEncoder[] encoder = new FeatureVectorEncoder[FIELDS]; for (int i = 0; i < FIELDS; i++) { encoder[i] = new ConstantValueEncoder("v" + i); } long t0 = System.currentTimeMillis(); Vector v = new DenseVector(1000); BufferedReader in = new BufferedReader(new FileReader(args[1])); String line = in.readLine(); while (line != null) { v.assign(0); Line x = new Line(line); for (int i = 0; i < FIELDS; i++) { encoder[i].addToVector((byte[]) null, x.getDouble(i), v); } line = in.readLine(); } System.out.printf("\nElapsed time = %.3f s\n", (System.currentTimeMillis() - t0) / 1000.0); }
Vector getVector(Map<String, Object> features) { Vector v = new RandomAccessSparseVector(vectorSize); if (hasIntercept) interceptAdder.addToVector("1", v); for (Map.Entry<String, Object> feature : features.entrySet()) { String key = feature.getKey(); Object value = feature.getValue(); switch (types.get(key)) { case _class: featureAdder.addToVector(key + ":" + (String) value, 1, v); break; case _float: featureAdder.addToVector(key, (double) value, v); break; } } return v; } }
@Override public String asString(String originalForm) { return getName(); }
public static void main(String[] args) throws IOException { FeatureVectorEncoder[] encoder = new FeatureVectorEncoder[FIELDS]; for (int i = 0; i < FIELDS; i++) { encoder[i] = new ConstantValueEncoder("v" + i); } long t0 = System.currentTimeMillis(); Vector v = new DenseVector(1000); ByteBuffer buf = ByteBuffer.wrap(FileUtils .readFileToByteArray(new File(args[1]))); FastLine line = FastLine.read(buf); while (line != null) { v.assign(0); for (int i = 0; i < FIELDS; i++) { encoder[i].addToVector((byte[]) null, line.getDouble(i), v); } line = FastLine.read(buf); } System.out.printf("\nElapsed time = %.3f s\n", (System.currentTimeMillis() - t0) / 1000.0); }
@Override public void addToVector(byte[] originalForm, double weight, Vector data) { int probes = getProbes(); String name = getName(); for (int i = 0; i < probes; i++) { int n = hashForProbe(originalForm, data.size(), name, i); if (isTraceEnabled()) { trace((String) null, n); } data.set(n, data.get(n) + getWeight(originalForm,weight)); } }
@Override public String asString(String originalForm) { return getName(); }
encoder.setProbes(2); encoder.setTraceDictionary(traceDictionary); FeatureVectorEncoder bias = new ConstantValueEncoder("Intercept"); bias.setTraceDictionary(traceDictionary); FeatureVectorEncoder lines = new ConstantValueEncoder("Lines"); lines.setTraceDictionary(traceDictionary); Dictionary newsGroups = new Dictionary();
@Override public void addToVector(byte[] originalForm, double weight, Vector data) { int probes = getProbes(); String name = getName(); for (int i = 0; i < probes; i++) { int n = hashForProbe(originalForm, data.size(), name, i); if (isTraceEnabled()) { trace((String) null, n); } data.set(n, data.get(n) + getWeight(originalForm,weight)); } }
@Test public void testAsString() { FeatureVectorEncoder enc = new ConstantValueEncoder("foo"); assertEquals("foo", enc.asString("123")); }
@Test public void testAddToVector() { FeatureVectorEncoder enc = new ConstantValueEncoder("foo"); Vector v1 = new DenseVector(20); enc.addToVector((byte[]) null, -123, v1);