code: public void learn(double[][] data) {
          int p = data[0].length;
          Attribute[] attributes = new Attribute[p];
          for (int i = 0; i < p; i++) {
              attributes[i] = new NumericAttribute("V"+i);
          }
          learn(attributes, data);
      }
docs: Learns transformation parameters from a dataset.
  All features are assumed numeric.
  @param data The training data.