错误如图所示:不知道是哪里出现了问题
Exception in thread "main" java.lang.ClassCastException: org.jpmml.evaluator.neural_network.NeuralNetworkEvaluator$1 cannot be cast to org.jpmml.evaluator.ProbabilityDistribution
private ProbabilityDistribution getProbabilityDistribution(Map arguments) {
Map evaluateResult = modelEvaluator.evaluate(arguments);
FieldName fieldName = new FieldName(getTargetName());
return (ProbabilityDistribution) evaluateResult.get(fieldName);
}
错误代码77
public Object predict(Map<FieldName, ?> arguments) {
ProbabilityDistribution probabilityDistribution = getProbabilityDistribution(arguments);
return probabilityDistribution.getPrediction();
}
错误代码89
https://www.cnblogs.com/zhangzhixing/p/12095815.html
这个问题 通过刚才的测试 我大致明白了:
这里是模型1 不指定呢种模型 会自动识别
ModelEvaluatorFactory modelEvaluatorFactory = ModelEvaluatorFactory.newInstance();
Evaluator evaluator = modelEvaluatorFactory.newModelEvaluator(pmml);
此处指定模型
ModelEvaluator evaluator = new MiningModelEvaluator(pmml);
预测后的结果要求 对应:
MiningModel 对应的是: MiningScore
你的应将ProbabilityDistribution改为NeuronProbabilityDistribution