Hi, I am studying the LR / SGD code and I was wondering why in the iris test case the first element of each vector is set to 1 in the loop parsing the CSV file via v.set(0,1)
for (String line : raw.subList(1, raw.size())) { // order gets a list of indexes order.add(order.size()); // parse the predictor variables Vector v = new DenseVector(5); v.set(0, 1); int i = 1; Iterable<String> values = onComma.split(line); for (String value : Iterables.limit(values, 4)) { v.set(i++, Double.parseDouble(value)); } data.add(v); // and the target target.add(dict.intern(Iterables.get(values, 4))); } If I remove the line the accuracy drops to 92% but I don't know why this is happening. Where is this first element used throughout the algorithm? Cheers, Frank