use of org.knime.base.node.preproc.autobinner.pmml.PMMLPreprocDiscretize in project knime-core by knime.
the class AutoBinnerApplyNodeModel method configure.
/**
* {@inheritDoc}
*/
@Override
protected PortObjectSpec[] configure(final PortObjectSpec[] inSpecs) throws InvalidSettingsException {
PMMLDiscretizePreprocPortObjectSpec pmmlPortSpec = (PMMLDiscretizePreprocPortObjectSpec) inSpecs[0];
PMMLPreprocDiscretize op = pmmlPortSpec.getOperation();
DataTableSpec dataSpec = (DataTableSpec) inSpecs[1];
AutoBinnerApply applier = new AutoBinnerApply();
return new PortObjectSpec[] { applier.getOutputSpec(op, dataSpec) };
}
use of org.knime.base.node.preproc.autobinner.pmml.PMMLPreprocDiscretize in project knime-core by knime.
the class AutoBinner method createDisretizeOp.
/**
* @param edgesMap the boundary map
* @return the {@link PMMLPreprocDiscretize} model
*/
protected PMMLPreprocDiscretize createDisretizeOp(final Map<String, double[]> edgesMap) {
Map<String, List<PMMLDiscretizeBin>> binMap = createBins(edgesMap);
List<String> names = new ArrayList<String>();
Map<String, PMMLDiscretize> discretize = new HashMap<String, PMMLDiscretize>();
for (String target : m_included) {
String binnedCol = m_settings.getReplaceColumn() ? target : target + " [Binned]";
names.add(binnedCol);
discretize.put(binnedCol, new PMMLDiscretize(target, binMap.get(target)));
}
DisretizeConfiguration config = new DisretizeConfiguration(names, discretize);
PMMLPreprocDiscretize op = new PMMLPreprocDiscretize(config);
return op;
}
use of org.knime.base.node.preproc.autobinner.pmml.PMMLPreprocDiscretize in project knime-core by knime.
the class AutoBinnerLearnNodeModel method execute.
/**
* {@inheritDoc}
*/
@Override
protected PortObject[] execute(final PortObject[] inObjects, final ExecutionContext exec) throws Exception {
BufferedDataTable data = (BufferedDataTable) inObjects[0];
AutoBinner binner = new AutoBinner(m_settings, data.getDataTableSpec());
String[] included = m_settings.getFilterConfiguration().applyTo(data.getDataTableSpec()).getIncludes();
BufferedDataTable inData = binner.calcDomainBoundsIfNeccessary(data, exec, Arrays.asList(included));
PMMLPreprocDiscretize op = binner.execute(inData, exec);
AutoBinnerApply applier = new AutoBinnerApply();
BufferedDataTable outData = applier.execute(op, inData, exec);
return new PortObject[] { outData, new PMMLDiscretizePreprocPortObject(op) };
}
Aggregations