Search in sources :

Example 1 with FixedDoubleEntity

use of org.kie.kogito.explainability.local.counterfactual.entities.fixed.FixedDoubleEntity in project kogito-apps by kiegroup.

the class CounterfactualEntityFactoryTest method testCreateFixedEntities.

@Test
void testCreateFixedEntities() {
    List<Feature> features = new LinkedList<>();
    features.add(FeatureFactory.newNumericalFeature("f-num1", 100.1));
    features.add(FeatureFactory.newNumericalFeature("f-num2", 100.2, NumericalFeatureDomain.create(0.0, 1000.0)));
    features.add(FeatureFactory.newNumericalFeature("f-num3", 100.3));
    features.add(FeatureFactory.newNumericalFeature("f-num4", 100.4, NumericalFeatureDomain.create(0.0, 1000.0)));
    PredictionInput input = new PredictionInput(features);
    List<CounterfactualEntity> entities = CounterfactualEntityFactory.createEntities(input);
    // Check types
    assertTrue(entities.get(0) instanceof FixedDoubleEntity);
    assertTrue(entities.get(1) instanceof DoubleEntity);
    assertTrue(entities.get(2) instanceof FixedDoubleEntity);
    assertTrue(entities.get(3) instanceof DoubleEntity);
    // Check values
    assertEquals(100.1, entities.get(0).asFeature().getValue().asNumber());
    assertEquals(100.2, entities.get(1).asFeature().getValue().asNumber());
    assertEquals(100.3, entities.get(2).asFeature().getValue().asNumber());
    assertEquals(100.4, entities.get(3).asFeature().getValue().asNumber());
    // Check constraints
    assertTrue(entities.get(0).isConstrained());
    assertFalse(entities.get(1).isConstrained());
    assertTrue(entities.get(2).isConstrained());
    assertFalse(entities.get(3).isConstrained());
}
Also used : CounterfactualEntity(org.kie.kogito.explainability.local.counterfactual.entities.CounterfactualEntity) PredictionInput(org.kie.kogito.explainability.model.PredictionInput) FixedDoubleEntity(org.kie.kogito.explainability.local.counterfactual.entities.fixed.FixedDoubleEntity) DoubleEntity(org.kie.kogito.explainability.local.counterfactual.entities.DoubleEntity) FixedDoubleEntity(org.kie.kogito.explainability.local.counterfactual.entities.fixed.FixedDoubleEntity) Feature(org.kie.kogito.explainability.model.Feature) LinkedList(java.util.LinkedList) Test(org.junit.jupiter.api.Test)

Example 2 with FixedDoubleEntity

use of org.kie.kogito.explainability.local.counterfactual.entities.fixed.FixedDoubleEntity in project kogito-apps by kiegroup.

the class CounterfactualEntityFactoryTest method testFixedDoubleFactory.

@Test
void testFixedDoubleFactory() {
    final double value = 5.5;
    final Feature feature = FeatureFactory.newNumericalFeature("double-feature", value);
    final CounterfactualEntity counterfactualEntity = CounterfactualEntityFactory.from(feature);
    assertTrue(counterfactualEntity instanceof FixedDoubleEntity);
    assertEquals(value, counterfactualEntity.asFeature().getValue().asNumber());
}
Also used : CounterfactualEntity(org.kie.kogito.explainability.local.counterfactual.entities.CounterfactualEntity) FixedDoubleEntity(org.kie.kogito.explainability.local.counterfactual.entities.fixed.FixedDoubleEntity) Feature(org.kie.kogito.explainability.model.Feature) Test(org.junit.jupiter.api.Test)

Aggregations

Test (org.junit.jupiter.api.Test)2 CounterfactualEntity (org.kie.kogito.explainability.local.counterfactual.entities.CounterfactualEntity)2 FixedDoubleEntity (org.kie.kogito.explainability.local.counterfactual.entities.fixed.FixedDoubleEntity)2 Feature (org.kie.kogito.explainability.model.Feature)2 LinkedList (java.util.LinkedList)1 DoubleEntity (org.kie.kogito.explainability.local.counterfactual.entities.DoubleEntity)1 PredictionInput (org.kie.kogito.explainability.model.PredictionInput)1