예제 #1
0
  @Test
  public void testMinMaxMetricsMixedInsertOrder() throws Exception {

    CSVSchemaColumn schemaCol_0 =
        new CSVSchemaColumn(
            "a", CSVSchemaColumn.ColumnType.NUMERIC, CSVSchemaColumn.TransformType.COPY);

    schemaCol_0.evaluateColumnValue("6");
    schemaCol_0.evaluateColumnValue("-2");
    schemaCol_0.evaluateColumnValue("3");

    // schemaCol_0.computeStatistics();

    assertEquals(-2, schemaCol_0.minValue, 0.0);
    assertEquals(6, schemaCol_0.maxValue, 0.0);
  }
예제 #2
0
  @Test
  public void testEvaluateCSVRecords_NominalColumns_Label() throws Exception {

    // { Nominal + Normalize }

    CSVSchemaColumn schemaCol =
        new CSVSchemaColumn(
            "b", CSVSchemaColumn.ColumnType.NOMINAL, CSVSchemaColumn.TransformType.LABEL);

    schemaCol.evaluateColumnValue("a");
    schemaCol.evaluateColumnValue("b");
    schemaCol.evaluateColumnValue("c");

    // should not be labeling!
    assertEquals(1, schemaCol.getLabelCount("a"), 0.0);
    assertEquals(1, schemaCol.getLabelCount("b"), 0.0);
    assertEquals(0, schemaCol.getLabelCount("d"), 0.0);

    double col_val = schemaCol.transformColumnValue("c");

    assertEquals(2.0, col_val, 0.0);

    double col_val_b = schemaCol.transformColumnValue("b");

    assertEquals(1.0, col_val_b, 0.0);
  }
예제 #3
0
  @Test
  public void testEvaluateCSVRecords_NumericColumns_Copy() throws Exception {

    // { NUMERIC + COPY }
    CSVSchemaColumn schemaCol =
        new CSVSchemaColumn(
            "b", CSVSchemaColumn.ColumnType.NUMERIC, CSVSchemaColumn.TransformType.COPY);

    schemaCol.evaluateColumnValue("6");
    schemaCol.evaluateColumnValue("-6");

    assertEquals(-6, schemaCol.minValue, 0.0);
    assertEquals(6, schemaCol.maxValue, 0.0);

    double col_val = schemaCol.transformColumnValue("2");

    assertEquals(2.0, col_val, 0.0);
  }
예제 #4
0
  @Test
  public void testEvaluateCSVRecords_NumericColumns_Binarize() throws Exception {

    // { NUMERIC + BINARIZE }

    CSVSchemaColumn schemaCol_binarize =
        new CSVSchemaColumn(
            "b", CSVSchemaColumn.ColumnType.NUMERIC, CSVSchemaColumn.TransformType.BINARIZE);

    schemaCol_binarize.evaluateColumnValue("6");
    schemaCol_binarize.evaluateColumnValue("-6");

    assertEquals(-6, schemaCol_binarize.minValue, 0.0);
    assertEquals(6, schemaCol_binarize.maxValue, 0.0);

    double col_val = schemaCol_binarize.transformColumnValue("2");

    assertEquals(1.0, col_val, 0.0);
  }
예제 #5
0
  @Test
  public void testEvaluateCSVRecords_NumericColumns_Normalize() throws Exception {

    // { NUMERIC + NORMALIZE }

    CSVSchemaColumn schemaCol_normalize =
        new CSVSchemaColumn(
            "a", CSVSchemaColumn.ColumnType.NUMERIC, CSVSchemaColumn.TransformType.NORMALIZE);

    schemaCol_normalize.evaluateColumnValue("6");
    schemaCol_normalize.evaluateColumnValue("-2");
    schemaCol_normalize.evaluateColumnValue("3");

    assertEquals(-2, schemaCol_normalize.minValue, 0.0);
    assertEquals(6, schemaCol_normalize.maxValue, 0.0);

    double col_val = schemaCol_normalize.transformColumnValue("3");

    assertEquals(((3.0 - -2) / 8.0), col_val, 0.01);
  }
예제 #6
0
  @Test
  public void testClassBalanceReporting() throws Exception {

    CSVSchemaColumn schemaCol_0 =
        new CSVSchemaColumn(
            "a", CSVSchemaColumn.ColumnType.NOMINAL, CSVSchemaColumn.TransformType.LABEL);

    schemaCol_0.evaluateColumnValue("alpha");
    schemaCol_0.evaluateColumnValue("beta");
    schemaCol_0.evaluateColumnValue("gamma");

    schemaCol_0.evaluateColumnValue("alpha");
    schemaCol_0.evaluateColumnValue("beta");
    schemaCol_0.evaluateColumnValue("gamma");

    schemaCol_0.evaluateColumnValue("alpha");
    schemaCol_0.evaluateColumnValue("beta");

    schemaCol_0.evaluateColumnValue("alpha");

    schemaCol_0.debugPrintColumns();

    assertEquals(3, schemaCol_0.getLabelCount("beta"), 0.0);
    assertEquals(2, schemaCol_0.getLabelCount("gamma"), 0.0);
    assertEquals(4, schemaCol_0.getLabelCount("alpha"), 0.0);
  }
예제 #7
0
  @Test
  public void testEvaluateCSVRecords_NominalColumns_Normalize() throws Exception {

    // { Nominal + Normalize }

    CSVSchemaColumn schemaCol =
        new CSVSchemaColumn(
            "b", CSVSchemaColumn.ColumnType.NOMINAL, CSVSchemaColumn.TransformType.NORMALIZE);

    schemaCol.evaluateColumnValue("alpha");

    schemaCol.evaluateColumnValue("beta");
    schemaCol.evaluateColumnValue("beta");
    schemaCol.evaluateColumnValue("beta");

    schemaCol.evaluateColumnValue("gamma");
    schemaCol.evaluateColumnValue("delta");

    assertEquals(1, schemaCol.getLabelCount("alpha"), 0.0);
    assertEquals(3, schemaCol.getLabelCount("beta"), 0.0);

    double col_val = schemaCol.transformColumnValue("alpha");

    assertEquals(0.25, col_val, 0.0);

    double col_val_1 = schemaCol.transformColumnValue("beta");

    assertEquals(0.5, col_val_1, 0.0);

    double col_val_2 = schemaCol.transformColumnValue("gamma");

    assertEquals(0.75, col_val_2, 0.0);

    double col_val_3 = schemaCol.transformColumnValue("delta");

    assertEquals(1.0, col_val_3, 0.0);
  }