/** * @param miningSchema {@link MiningSchema} from a model * @return index of the {@link MiningField.UsageType#PREDICTED} feature */ public static Integer findTargetIndex(MiningSchema miningSchema) { List<MiningField> miningFields = miningSchema.getMiningFields(); for (int i = 0; i < miningFields.size(); i++) { if (miningFields.get(i).getUsageType() == MiningField.UsageType.PREDICTED) { return i; } } return null; }
/** * @param miningSchema {@link MiningSchema} from a model * @return names of features in order */ public static List<String> getFeatureNames(MiningSchema miningSchema) { return miningSchema.getMiningFields().stream().map(field -> field.getName().getValue()) .collect(Collectors.toList()); }
List<MiningField> miningFields = miningSchema.getMiningFields(); double[] featureImportances = new double[featureNames.size()]; for (int i = 0; i < miningFields.size(); i++) {
@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()); }
protected static void checkMiningSchema(InputSchema schema, MiningSchema miningSchema) { assertNotNull(miningSchema); List<MiningField> miningFields = miningSchema.getMiningFields(); List<String> expectedFeatureNames = schema.getFeatureNames(); assertEquals("Wrong number of features",
public MiningSchema addMiningFields(MiningField... miningFields) { getMiningFields().addAll(Arrays.asList(miningFields)); return this; }
@Override public Map<FieldName, MiningField> load(MiningSchema miningSchema){ return IndexableUtil.buildMap(miningSchema.getMiningFields()); } });
/** * @param miningSchema {@link MiningSchema} from a model * @return index of the {@link MiningField.UsageType#PREDICTED} feature */ public static Integer findTargetIndex(MiningSchema miningSchema) { List<MiningField> miningFields = miningSchema.getMiningFields(); for (int i = 0; i < miningFields.size(); i++) { if (miningFields.get(i).getUsageType() == MiningField.UsageType.PREDICTED) { return i; } } return null; }
public static Map<FieldName, MiningField> getMiningFieldMap(MiningSchema miningSchema) { Map<FieldName, MiningField> miningFieldMap = new HashMap<FieldName, MiningField>(); for(MiningField miningField: miningSchema.getMiningFields()) { miningFieldMap.put(miningField.getName(), miningField); } return miningFieldMap; }
public static Map<FieldName, MiningField> getMiningFieldMap(MiningSchema miningSchema) { Map<FieldName, MiningField> miningFieldMap = new HashMap<FieldName, MiningField>(); for(MiningField miningField: miningSchema.getMiningFields()) { miningFieldMap.put(miningField.getName(), miningField); } return miningFieldMap; }
/** * @param miningSchema {@link MiningSchema} from a model * @return names of features in order */ public static List<String> getFeatureNames(MiningSchema miningSchema) { return miningSchema.getMiningFields().stream().map(field -> field.getName().getValue()) .collect(Collectors.toList()); }
@Override public VisitorAction visit(MiningSchema miningSchema){ if(miningSchema.hasMiningFields()){ List<MiningField> miningFields = miningSchema.getMiningFields(); for(ListIterator<MiningField> it = miningFields.listIterator(); it.hasNext(); ){ it.set(intern(it.next())); } } return super.visit(miningSchema); }
@Override public VisitorAction visit(MiningSchema miningSchema){ if(miningSchema.hasMiningFields()){ List<MiningField> miningFields = miningSchema.getMiningFields(); for(ListIterator<MiningField> it = miningFields.listIterator(); it.hasNext(); ){ it.set(intern(it.next())); } } return super.visit(miningSchema); }
@Override public VisitorAction visit(MiningSchema miningSchema){ if(miningSchema.hasMiningFields()){ List<MiningField> miningFields = miningSchema.getMiningFields(); for(ListIterator<MiningField> it = miningFields.listIterator(); it.hasNext(); ){ it.set(intern(it.next())); } } return super.visit(miningSchema); }
public static Integer getNumTargetMiningFields(MiningSchema miningSchema) { Integer cnt = 0; for(MiningField miningField: miningSchema.getMiningFields()) { if(miningField.getUsageType().equals(FieldUsageType.TARGET)) { cnt += 1; } } return cnt; }
public static Integer getNumActiveMiningFields(MiningSchema miningSchema) { Integer cnt = 0; for(MiningField miningField: miningSchema.getMiningFields()) { if(miningField.getUsageType().equals(FieldUsageType.ACTIVE)) { cnt += 1; } } return cnt; }
public static Integer getNumTargetMiningFields(MiningSchema miningSchema) { Integer cnt = 0; for(MiningField miningField: miningSchema.getMiningFields()) { if(miningField.getUsageType().equals(FieldUsageType.TARGET)) { cnt += 1; } } return cnt; }
private static List<String> getSchemaFieldViaUsageType(final MiningSchema schema, final FieldUsageType type) { List<String> targetFields = new ArrayList<String>(); for(MiningField f: schema.getMiningFields()) { FieldUsageType uType = f.getUsageType(); if(uType == type) targetFields.add(f.getName().getValue()); } return targetFields; }
public static Integer getNumActiveMiningFields(MiningSchema miningSchema) { Integer cnt = 0; for(MiningField miningField: miningSchema.getMiningFields()) { if(miningField.getUsageType().equals(FieldUsageType.ACTIVE)) { cnt += 1; } } return cnt; }
static private Set<FieldName> getFieldNames(MiningSchema miningSchema){ Set<FieldName> result = new LinkedHashSet<>(); List<MiningField> miningFields = miningSchema.getMiningFields(); for(MiningField miningField : miningFields){ result.add(miningField.getName()); } return result; } }