private static void checkDataField(DataField field, String name, Boolean categorical) { assertEquals(name, field.getName().getValue()); if (categorical == null) { assertNull(field.getOpType()); assertNull(field.getDataType()); } else if (categorical) { assertEquals(OpType.CATEGORICAL, field.getOpType()); assertEquals(DataType.STRING, field.getDataType()); } else { assertEquals(OpType.CONTINUOUS, field.getOpType()); assertEquals(DataType.DOUBLE, field.getDataType()); } }
protected static void checkDataDictionary(InputSchema schema, DataDictionary dataDictionary) { assertNotNull(dataDictionary); assertEquals("Wrong number of features", schema.getNumFeatures(), dataDictionary.getNumberOfFields().intValue()); List<DataField> dataFields = dataDictionary.getDataFields(); assertEquals(schema.getNumFeatures(), dataFields.size()); for (DataField dataField : dataFields) { String featureName = dataField.getName().getValue(); if (schema.isNumeric(featureName)) { assertEquals("Wrong op type for feature " + featureName, OpType.CONTINUOUS, dataField.getOpType()); assertEquals("Wrong data type for feature " + featureName, DataType.DOUBLE, dataField.getDataType()); } else if (schema.isCategorical(featureName)) { assertEquals("Wrong op type for feature " + featureName, OpType.CATEGORICAL, dataField.getOpType()); assertEquals("Wrong data type for feature " + featureName, DataType.STRING, dataField.getDataType()); } else { assertNull(dataField.getOpType()); assertNull(dataField.getDataType()); } } }
static public Map<FieldName, ? extends Vote> evaluateVote(TargetField targetField, Vote vote){ DataField dataField = targetField.getField(); vote.computeResult(dataField.getDataType()); return Collections.singletonMap(targetField.getName(), vote); }
static public <V extends Number> Map<FieldName, ? extends Regression<V>> evaluateRegression(TargetField targetField, Regression<V> regression){ DataField dataField = targetField.getField(); regression.computeResult(dataField.getDataType()); return Collections.singletonMap(targetField.getName(), regression); }
static public <V extends Number> Map<FieldName, ? extends Classification<V>> evaluateClassification(TargetField targetField, Classification<V> classification){ DataField dataField = targetField.getField(); classification.computeResult(dataField.getDataType()); return Collections.singletonMap(targetField.getName(), classification); }
public List<Feature> getFeatures(String column){ List<Feature> features = this.columnFeatures.get(column); if(features == null){ FieldName name = FieldName.create(column); DataField dataField = getDataField(name); if(dataField == null){ dataField = createDataField(name); } Feature feature; DataType dataType = dataField.getDataType(); switch(dataType){ case STRING: feature = new WildcardFeature(this, dataField); break; case INTEGER: case DOUBLE: feature = new ContinuousFeature(this, dataField); break; case BOOLEAN: feature = new BooleanFeature(this, dataField); break; default: throw new IllegalArgumentException("Data type " + dataType + " is not supported"); } return Collections.singletonList(feature); } return features; }
static public <V extends Number> Map<FieldName, ?> evaluateRegression(TargetField targetField, Value<V> value){ DataField dataField = targetField.getField(); value = evaluateRegressionInternal(targetField, value); if(value instanceof HasReport){ Regression<V> result = new Regression<>(value); return evaluateRegression(targetField, result); } Object result = TypeUtil.cast(dataField.getDataType(), value.getValue()); return Collections.singletonMap(targetField.getName(), result); }
Byte right = dataTypeMap.get(this.evaluator.getDataField(activeField).getDataType().toString()); if (left != right) if (failOnTypeMatching) { String dataType = dataField.getDataType().toString();
@Override public List<Feature> encodeFeatures(List<Feature> features, SkLearnEncoder encoder){ List<Feature> result = new ArrayList<>(); OpType opType = getOpType(); DataType dataType = getDataType(); for(Feature feature : features){ WildcardFeature wildcardFeature = (WildcardFeature)feature; DataField dataField = (DataField)encoder.getField(wildcardFeature.getName()); dataField .setOpType(opType) .setDataType(dataType); feature = new ObjectFeature(encoder, dataField.getName(), dataField.getDataType()); result.add(feature); } return super.encodeFeatures(result, encoder); } }
DataType dataType = dataField.getDataType(); if(dataType == null){ throw new MissingAttributeException(dataField, PMMLAttributes.DATAFIELD_DATATYPE);
DataType dataType = dataField.getDataType(); if(dataType == null){ throw new MissingAttributeException(dataField, PMMLAttributes.DATAFIELD_DATATYPE);
DataType dataType = dataField.getDataType(); switch(dataType){ case INTEGER: