Пример #1
0
  /**
   * Adapts data from the 'DataSet' object to de 'BaseDatos' object
   *
   * @param ds Data set
   */
  private void convierteDatos(Dataset ds) {
    boolean seguir;
    base = new Vector();
    Vector ejemplo = null;

    for (int i = 0; i < ds.getNdatos(); i++) {
      ejemplo = new Vector();
      seguir = true;
      for (int j = 0; (j < ds.getNvariables() - 1) && seguir; j++) {
        // 'DataSet' object stores data in 'String' objects, but 'BaseDatos' does it in 'Double' or
        // 'Integer' objects
        if (!ds.isMissing(i, j)) {
          if (tipos.get(j).equals("real")) {
            ejemplo.add(new Double(ds.getExample(i)[j]));
          } else if (tipos.get(j).equals("integer")) {
            ejemplo.add(new Integer((int) ds.getExample(i)[j]));
          } else if (tipos.get(j).equals("enumerado")) {
            Integer dato = new Integer((int) ds.getExample(i)[j]);
            ejemplo.add(dato);
          }
        }
        /*if (!ds.getDatosIndex(i, j).equals("?") &&
            !ds.getDatosIndex(i, j).equals("<null>")) {

            if (tipos.get(j).equals("real")) {
                ejemplo.add(new Double(ds.getDatosIndex(i, j)));
            } else if (tipos.get(j).equals("integer")) {
                ejemplo.add(new Integer(ds.getDatosIndex(i, j)));
            } else if (tipos.get(j).equals("enumerado")) {
                Integer dato = new Integer(((Vector) valEnum.get(j)).
                        indexOf(ds.getDatosIndex(i, j)));
                ejemplo.add(dato);
            }
        } */
        else {
          seguir = false;
        }
      }
      if (seguir) {
        ejemplo.add(new Integer(ds.getOutputAsInteger(i)));
        base.add(ejemplo);
      }
    }
    numEjemplos = base.size();
  }