@Test public void testBuildMiningSchema() { MiningSchema miningSchema = AppPMMLUtils.buildMiningSchema(buildTestSchema()); List<MiningField> miningFields = miningSchema.getMiningFields(); assertEquals(4, miningFields.size()); String[] fieldNames = { "foo", "bar", "baz", "bing" }; for (int i = 0; i < fieldNames.length; i++) { assertEquals(fieldNames[i], miningFields.get(i).getName().getValue()); } assertEquals(MiningField.UsageType.SUPPLEMENTARY, miningFields.get(0).getUsageType()); assertEquals(MiningField.UsageType.PREDICTED, miningFields.get(1).getUsageType()); assertEquals(MiningField.UsageType.SUPPLEMENTARY, miningFields.get(2).getUsageType()); assertEquals(MiningField.UsageType.ACTIVE, miningFields.get(3).getUsageType()); assertEquals(OpType.CATEGORICAL, miningFields.get(1).getOpType()); assertEquals(OpType.CONTINUOUS, miningFields.get(3).getOpType()); }
assertEquals("Wrong op type for feature + " + featureName, schema.isNumeric(expectedFeature) ? OpType.CONTINUOUS : OpType.CATEGORICAL, miningField.getOpType()); if (schema.isTarget(expectedFeature)) { assertEquals("Wrong usage type for feature " + featureName,
static public OpType getOpType(Field<?> field, MiningField miningField){ OpType opType = field.getOpType(); // "A MiningField overrides a (Data)Field" if(miningField != null){ opType = firstNonNull(miningField.getOpType(), opType); } return opType; }
static public OpType getOpType(Field<?> field, MiningField miningField, Target target){ OpType opType = field.getOpType(); // "A MiningField overrides a (Data)Field, and a Target overrides a MiningField" if(miningField != null){ opType = firstNonNull(miningField.getOpType(), opType); if(target != null){ opType = firstNonNull(target.getOpType(), opType); } } return opType; }
if(!Objects.equals(miningField.getOpType(), null)){ return false;
PMMLObject locatable = miningField; OpType opType = miningField.getOpType(); if(opType == null){ locatable = dataField;