use of org.kie.pmml.commons.model.expressions.KiePMMLInterval in project drools by kiegroup.
the class PreProcessTest method verifyAddMissingValuesNotMissingNotReturnInvalidReplacement.
@Test
public void verifyAddMissingValuesNotMissingNotReturnInvalidReplacement() {
KiePMMLMiningField miningField0 = KiePMMLMiningField.builder("FIELD-0", null).withDataType(DATA_TYPE.STRING).withMissingValueTreatmentMethod(MISSING_VALUE_TREATMENT_METHOD.AS_IS).withMissingValueReplacement("123").withAllowedValues(Arrays.asList("123", "124", "125")).build();
KiePMMLMiningField miningField1 = KiePMMLMiningField.builder("FIELD-1", null).withDataType(DATA_TYPE.DOUBLE).withMissingValueTreatmentMethod(MISSING_VALUE_TREATMENT_METHOD.AS_IS).withMissingValueReplacement("1.23").withAllowedValues(Arrays.asList("1.23", "12.4", "1.25")).build();
List<KiePMMLInterval> intervals = Arrays.asList(new KiePMMLInterval(0.0, 12.4, CLOSURE.CLOSED_CLOSED), new KiePMMLInterval(12.6, 14.5, CLOSURE.OPEN_CLOSED));
KiePMMLMiningField miningField2 = KiePMMLMiningField.builder("FIELD-2", null).withDataType(DATA_TYPE.FLOAT).withMissingValueTreatmentMethod(MISSING_VALUE_TREATMENT_METHOD.AS_IS).withMissingValueReplacement("12.9").withIntervals(intervals).build();
List<KiePMMLMiningField> miningFields = Arrays.asList(miningField0, miningField1, miningField2);
PMMLRequestData pmmlRequestData = new PMMLRequestData("123", "modelName");
assertTrue(pmmlRequestData.getRequestParams().isEmpty());
PreProcess.verifyAddMissingValues(miningFields, pmmlRequestData);
Map<String, ParameterInfo> mappedRequestParams = pmmlRequestData.getMappedRequestParams();
assertEquals(miningFields.size(), mappedRequestParams.size());
assertEquals("123", mappedRequestParams.get("FIELD-0").getValue());
assertEquals(1.23, mappedRequestParams.get("FIELD-1").getValue());
assertEquals(12.9f, mappedRequestParams.get("FIELD-2").getValue());
}
use of org.kie.pmml.commons.model.expressions.KiePMMLInterval in project drools by kiegroup.
the class KiePMMLIntervalInstanceFactoryTest method getKiePMMLInterval.
@Test
public void getKiePMMLInterval() {
Interval toConvert = getRandomInterval();
KiePMMLInterval retrieved = KiePMMLIntervalInstanceFactory.getKiePMMLInterval(toConvert);
commonVerifyKiePMMLInterval(retrieved, toConvert);
}
use of org.kie.pmml.commons.model.expressions.KiePMMLInterval in project drools by kiegroup.
the class PreProcessTest method verifyFixInvalidValuesInvalidAsMissing.
@Test
public void verifyFixInvalidValuesInvalidAsMissing() {
KiePMMLMiningField miningField0 = KiePMMLMiningField.builder("FIELD-0", null).withDataType(DATA_TYPE.STRING).withInvalidValueTreatmentMethod(INVALID_VALUE_TREATMENT_METHOD.AS_MISSING).withAllowedValues(Arrays.asList("123", "124", "125")).build();
KiePMMLMiningField miningField1 = KiePMMLMiningField.builder("FIELD-1", null).withDataType(DATA_TYPE.DOUBLE).withInvalidValueTreatmentMethod(INVALID_VALUE_TREATMENT_METHOD.AS_MISSING).withAllowedValues(Arrays.asList("1.23", "12.4", "1.25")).build();
List<KiePMMLInterval> intervals = Arrays.asList(new KiePMMLInterval(0.0, 12.4, CLOSURE.CLOSED_CLOSED), new KiePMMLInterval(12.6, 14.5, CLOSURE.OPEN_CLOSED));
KiePMMLMiningField miningField2 = KiePMMLMiningField.builder("FIELD-2", null).withDataType(DATA_TYPE.DOUBLE).withInvalidValueTreatmentMethod(INVALID_VALUE_TREATMENT_METHOD.AS_MISSING).withIntervals(intervals).build();
List<KiePMMLMiningField> miningFields = Arrays.asList(miningField0, miningField1, miningField2);
PMMLRequestData pmmlRequestData = new PMMLRequestData("123", "modelName");
pmmlRequestData.addRequestParam("FIELD-0", "122");
pmmlRequestData.addRequestParam("FIELD-1", 12.5);
pmmlRequestData.addRequestParam("FIELD-2", 14.6);
PreProcess.verifyFixInvalidValues(miningFields, pmmlRequestData);
assertTrue(pmmlRequestData.getRequestParams().isEmpty());
}
use of org.kie.pmml.commons.model.expressions.KiePMMLInterval in project drools by kiegroup.
the class PreProcessTest method verifyFixInvalidValuesInvalidAsValueWithoutReplacement.
@Test(expected = KiePMMLException.class)
public void verifyFixInvalidValuesInvalidAsValueWithoutReplacement() {
KiePMMLMiningField miningField0 = KiePMMLMiningField.builder("FIELD-0", null).withDataType(DATA_TYPE.STRING).withInvalidValueTreatmentMethod(INVALID_VALUE_TREATMENT_METHOD.AS_VALUE).withAllowedValues(Arrays.asList("123", "124", "125")).build();
KiePMMLMiningField miningField1 = KiePMMLMiningField.builder("FIELD-1", null).withDataType(DATA_TYPE.DOUBLE).withInvalidValueTreatmentMethod(INVALID_VALUE_TREATMENT_METHOD.AS_VALUE).withAllowedValues(Arrays.asList("1.23", "12.4", "1.25")).build();
List<KiePMMLInterval> intervals = Arrays.asList(new KiePMMLInterval(0.0, 12.4, CLOSURE.CLOSED_CLOSED), new KiePMMLInterval(12.6, 14.5, CLOSURE.OPEN_CLOSED));
KiePMMLMiningField miningField2 = KiePMMLMiningField.builder("FIELD-2", null).withDataType(DATA_TYPE.DOUBLE).withInvalidValueTreatmentMethod(INVALID_VALUE_TREATMENT_METHOD.AS_VALUE).withIntervals(intervals).build();
List<KiePMMLMiningField> miningFields = Arrays.asList(miningField0, miningField1, miningField2);
PMMLRequestData pmmlRequestData = new PMMLRequestData("123", "modelName");
pmmlRequestData.addRequestParam("FIELD-0", "122");
pmmlRequestData.addRequestParam("FIELD-1", 12.5);
pmmlRequestData.addRequestParam("FIELD-2", 14.6);
PreProcess.verifyFixInvalidValues(miningFields, pmmlRequestData);
}
use of org.kie.pmml.commons.model.expressions.KiePMMLInterval in project drools by kiegroup.
the class PreProcessTest method verifyFixInvalidValuesInvalidAsValueWithReplacement.
@Test
public void verifyFixInvalidValuesInvalidAsValueWithReplacement() {
KiePMMLMiningField miningField0 = KiePMMLMiningField.builder("FIELD-0", null).withDataType(DATA_TYPE.STRING).withInvalidValueTreatmentMethod(INVALID_VALUE_TREATMENT_METHOD.AS_VALUE).withInvalidValueReplacement("123").withAllowedValues(Arrays.asList("123", "124", "125")).build();
KiePMMLMiningField miningField1 = KiePMMLMiningField.builder("FIELD-1", null).withDataType(DATA_TYPE.DOUBLE).withInvalidValueTreatmentMethod(INVALID_VALUE_TREATMENT_METHOD.AS_VALUE).withInvalidValueReplacement("1.23").withAllowedValues(Arrays.asList("1.23", "12.4", "1.25")).build();
List<KiePMMLInterval> intervals = Arrays.asList(new KiePMMLInterval(0.0, 12.4, CLOSURE.CLOSED_CLOSED), new KiePMMLInterval(12.6, 14.5, CLOSURE.OPEN_CLOSED));
KiePMMLMiningField miningField2 = KiePMMLMiningField.builder("FIELD-2", null).withDataType(DATA_TYPE.DOUBLE).withInvalidValueTreatmentMethod(INVALID_VALUE_TREATMENT_METHOD.AS_VALUE).withInvalidValueReplacement("12.3").withIntervals(intervals).build();
List<KiePMMLMiningField> miningFields = Arrays.asList(miningField0, miningField1, miningField2);
PMMLRequestData pmmlRequestData = new PMMLRequestData("123", "modelName");
pmmlRequestData.addRequestParam("FIELD-0", "122");
pmmlRequestData.addRequestParam("FIELD-1", 12.5);
pmmlRequestData.addRequestParam("FIELD-2", 14.6);
PreProcess.verifyFixInvalidValues(miningFields, pmmlRequestData);
Map<String, ParameterInfo> mappedRequestParams = pmmlRequestData.getMappedRequestParams();
assertEquals("123", mappedRequestParams.get("FIELD-0").getValue());
assertEquals(1.23, mappedRequestParams.get("FIELD-1").getValue());
assertEquals(12.3, mappedRequestParams.get("FIELD-2").getValue());
}
Aggregations