Java Code Examples for org.dmg.pmml.Model#getMiningFunction()
The following examples show how to use
org.dmg.pmml.Model#getMiningFunction() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: RDFPMMLUtils.java From oryx with Apache License 2.0 | 5 votes |
/** * Validates that the encoded PMML model received matches expected schema. * * @param pmml {@link PMML} encoding of a decision forest * @param schema expected schema attributes of decision forest */ public static void validatePMMLVsSchema(PMML pmml, InputSchema schema) { List<Model> models = pmml.getModels(); Preconditions.checkArgument(models.size() == 1, "Should have exactly one model, but had %s", models.size()); Model model = models.get(0); MiningFunction function = model.getMiningFunction(); if (schema.isClassification()) { Preconditions.checkArgument(function == MiningFunction.CLASSIFICATION, "Expected classification function type but got %s", function); } else { Preconditions.checkArgument(function == MiningFunction.REGRESSION, "Expected regression function type but got %s", function); } DataDictionary dictionary = pmml.getDataDictionary(); Preconditions.checkArgument( schema.getFeatureNames().equals(AppPMMLUtils.getFeatureNames(dictionary)), "Feature names in schema don't match names in PMML"); MiningSchema miningSchema = model.getMiningSchema(); Preconditions.checkArgument(schema.getFeatureNames().equals( AppPMMLUtils.getFeatureNames(miningSchema))); Integer pmmlIndex = AppPMMLUtils.findTargetIndex(miningSchema); if (schema.hasTarget()) { int schemaIndex = schema.getTargetFeatureIndex(); Preconditions.checkArgument( pmmlIndex != null && schemaIndex == pmmlIndex, "Configured schema expects target at index %s, but PMML has target at index %s", schemaIndex, pmmlIndex); } else { Preconditions.checkArgument(pmmlIndex == null); } }
Example 2
Source File: MiningModelEvaluator.java From jpmml-evaluator with GNU Affero General Public License v3.0 | 5 votes |
static private void checkMiningFunction(Model model, MiningFunction parentMiningFunction){ MiningFunction miningFunction = model.getMiningFunction(); if(miningFunction == null){ throw new MissingAttributeException(MissingAttributeException.formatMessage(XPathUtil.formatElement(model.getClass()) + "@functionName"), model); } // End if if(!(miningFunction).equals(parentMiningFunction)){ throw new InvalidAttributeException(InvalidAttributeException.formatMessage(XPathUtil.formatElement(model.getClass()) + "@functionName=" + miningFunction.value()), model); } }
Example 3
Source File: MiningModelEvaluator.java From jpmml-evaluator with GNU Affero General Public License v3.0 | 4 votes |
private ModelEvaluator<?> createSegmentModelEvaluator(String segmentId, Model model){ MiningModel miningModel = getModel(); MiningFunction miningFunction = miningModel.getMiningFunction(); Segmentation segmentation = miningModel.getSegmentation(); Configuration configuration = ensureConfiguration(); ModelEvaluatorFactory modelEvaluatorFactory = configuration.getModelEvaluatorFactory(); ModelEvaluator<?> modelEvaluator = modelEvaluatorFactory.newModelEvaluator(getPMML(), model); Segmentation.MultipleModelMethod multipleModelMethod = segmentation.getMultipleModelMethod(); switch(multipleModelMethod){ case SELECT_FIRST: case SELECT_ALL: case MODEL_CHAIN: { Set<ResultFeature> resultFeatures = getResultFeatures(); if(!resultFeatures.isEmpty()){ modelEvaluator.addResultFeatures(resultFeatures); } } // Falls through default: { Set<ResultFeature> segmentResultFeatures = getSegmentResultFeatures(segmentId); if(segmentResultFeatures != null && !segmentResultFeatures.isEmpty()){ modelEvaluator.addResultFeatures(segmentResultFeatures); } } break; } MiningFunction segmentMiningFunction = model.getMiningFunction(); if((MiningFunction.CLASSIFICATION).equals(miningFunction) && (MiningFunction.CLASSIFICATION).equals(segmentMiningFunction)){ List<TargetField> targetFields = getTargetFields(); List<TargetField> segmentTargetFields = modelEvaluator.getTargetFields(); if(targetFields.size() == 1 && segmentTargetFields.size() == 1){ TargetField targetField = targetFields.get(0); TargetField segmentTargetField = segmentTargetFields.get(0); if(segmentTargetField instanceof DefaultTargetField){ DefaultTargetField defaultTargetField = (DefaultTargetField)segmentTargetField; modelEvaluator.setDefaultDataField(new DataField(Evaluator.DEFAULT_TARGET_NAME, OpType.CATEGORICAL, targetField.getDataType())); } } } modelEvaluator.configure(configuration); return modelEvaluator; }
Example 4
Source File: ModelEvaluator.java From jpmml-evaluator with GNU Affero General Public License v3.0 | 3 votes |
private <V extends Number> Map<FieldName, ?> evaluateDefault(){ Model model = getModel(); MiningFunction miningFunction = model.getMiningFunction(); throw new InvalidAttributeException(model, miningFunction); }