public static void main(String[] args) throws WrongConfigurationException { int seed=6236; int nSamples=5000; int nDiscreteVars=5; int nContinuousVars=10; DataStream<DataInstance> data = DataSetGenerator.generate(seed,nSamples,nDiscreteVars,nContinuousVars); String classVarName="DiscreteVar0"; String rootVarName="DiscreteVar1"; TAN model = new TAN(data.getAttributes()); model.setClassName(classVarName); model.setRootVarName(rootVarName); model.updateModel(data); System.out.println(model.getDAG()); System.out.println(); System.out.println(model.getModel()); }
@Override public boolean isValidConfiguration() { boolean isValid = true; long numFinite = vars.getListOfVariables().stream() .filter( v -> v.getStateSpaceTypeEnum().equals(StateSpaceTypeEnum.FINITE_SET)) .count(); if(numFinite <2) { isValid = false; String errorMsg = "Invalid configuration: There should be at least 2 discrete variables (root and class)"; this.setErrorMessage(errorMsg); } return isValid; }