use of org.knime.core.node.config.Config in project knime-core by knime.
the class DecisionTreeNodeLeaf method saveNodeInternalsToPredParams.
/**
* {@inheritDoc}
*/
@Override
public void saveNodeInternalsToPredParams(final ModelContentWO pConf, final boolean saveKeysAndPatterns) {
// if the keys and colors are supposed to be stored
if (saveKeysAndPatterns) {
Config patternsConfig = pConf.addConfig(CONFIG_KEY_PATTERNS);
int counter = 0;
for (RowKey entry : m_coveredPattern) {
patternsConfig.addString(CONFIG_KEY_PATTERN + "_" + counter, entry.getString());
counter++;
}
}
}
use of org.knime.core.node.config.Config in project knime-core by knime.
the class DecisionTreeNodeLeaf method loadNodeInternalsFromPredParams.
/**
* {@inheritDoc}
*/
@Override
public void loadNodeInternalsFromPredParams(final ModelContentRO pConf) throws InvalidSettingsException {
// if the keys and colors are available for loading
if (pConf.containsKey(CONFIG_KEY_PATTERNS)) {
Config patternsConfig = pConf.getConfig(CONFIG_KEY_PATTERNS);
Set<RowKey> coveredPatterns = new HashSet<>();
for (String key : patternsConfig) {
RowKey keyCell;
try {
keyCell = new RowKey(patternsConfig.getDataCell(key).toString());
} catch (InvalidSettingsException ise) {
keyCell = new RowKey(patternsConfig.getString(key));
}
coveredPatterns.add(keyCell);
}
m_coveredPattern = coveredPatterns;
}
}
use of org.knime.core.node.config.Config in project knime-core by knime.
the class DecisionTreeNodeSplitPMML method saveNodeSplitInternalsToPredParams.
/**
* {@inheritDoc}
*/
@Override
public void saveNodeSplitInternalsToPredParams(final ModelContentWO pConf) {
int i = 0;
for (PMMLPredicate pred : m_splitPred) {
Config predConfig = pConf.addConfig("pred" + i++);
pred.saveToPredParams(predConfig);
}
}
use of org.knime.core.node.config.Config in project knime-core by knime.
the class DecisionTreeNodeSplitPMML method loadNodeSplitInternalsFromPredParams.
/**
* {@inheritDoc}
*/
@Override
public void loadNodeSplitInternalsFromPredParams(final ModelContentRO pConf) throws InvalidSettingsException {
m_splitPred = new PMMLPredicate[pConf.getInt("nrChildren")];
for (int i = 0; i < m_splitPred.length; i++) {
Config predConfig = pConf.getConfig("pred" + i);
m_splitPred[i] = PMMLPredicate.getPredicateForConfig(predConfig);
m_splitPred[i].loadFromPredParams(predConfig);
}
}
use of org.knime.core.node.config.Config in project knime-core by knime.
the class DecisionTreeNode method loadFromPredictorParams.
/**
* Load node from a model content object.
*
* @param predParams configuration object to load decision tree from
* @throws InvalidSettingsException if something goes wrong
*/
public void loadFromPredictorParams(final ModelContentRO predParams) throws InvalidSettingsException {
m_class = predParams.getDataCell("class");
m_allClassFreq = predParams.getDouble("allClassFreq");
m_ownClassFreq = predParams.getDouble("ownClassFreq");
m_ownIndex = predParams.getInt("ownIndex");
m_prefix = predParams.getString("prefix");
if (predParams.containsKey("newColors")) {
m_newColors = predParams.getBoolean("newColors");
}
DataCell[] keys = predParams.getDataCellArray("classes");
double[] values = predParams.getDoubleArray("frequencies");
if (keys.length != values.length) {
throw new InvalidSettingsException("DecisionTreeNode: Can't read" + " class frequencies, array-lenghts don't match!");
}
m_classCounts = new LinkedHashMap<DataCell, Double>();
for (int i = 0; i < keys.length; i++) {
m_classCounts.put(keys[i], values[i]);
}
// and finally load all internals of the derived class as well
loadNodeInternalsFromPredParams(predParams);
// if the keys and colors are stored load them
if (predParams.containsKey(CONFIG_KEY_COLORS)) {
m_coveredColors.clear();
Config colorsConfig = predParams.getConfig(CONFIG_KEY_COLORS);
for (String key : colorsConfig) {
Config colorConfig = colorsConfig.getConfig(key);
int red = colorConfig.getInt(CONFIG_KEY_RED);
int green = colorConfig.getInt(CONFIG_KEY_GREEN);
int blue = colorConfig.getInt(CONFIG_KEY_BLUE);
double count = colorConfig.getDouble(CONFIG_KEY_COUNT);
m_coveredColors.put(new Color(red, green, blue), count);
}
}
}
Aggregations