use of org.knime.base.node.mine.treeensemble2.node.predictor.TreeEnsemblePredictorConfiguration in project knime-core by knime.
the class GradientBoostingPMMLPredictorNodeModel method validateSettings.
/**
* {@inheritDoc}
*/
@Override
protected void validateSettings(final NodeSettingsRO settings) throws InvalidSettingsException {
TreeEnsemblePredictorConfiguration config = new TreeEnsemblePredictorConfiguration(m_isRegression, "");
config.loadInModel(settings);
}
use of org.knime.base.node.mine.treeensemble2.node.predictor.TreeEnsemblePredictorConfiguration in project knime-core by knime.
the class GradientBoostingPredictorNodeModel method loadValidatedSettingsFrom.
/**
* {@inheritDoc}
*/
@Override
protected void loadValidatedSettingsFrom(final NodeSettingsRO settings) throws InvalidSettingsException {
TreeEnsemblePredictorConfiguration config = new TreeEnsemblePredictorConfiguration(true, "");
config.loadInModel(settings);
m_configuration = config;
}
use of org.knime.base.node.mine.treeensemble2.node.predictor.TreeEnsemblePredictorConfiguration in project knime-core by knime.
the class GradientBoostingPredictorNodeModel method validateSettings.
/**
* {@inheritDoc}
*/
@Override
protected void validateSettings(final NodeSettingsRO settings) throws InvalidSettingsException {
TreeEnsemblePredictorConfiguration config = new TreeEnsemblePredictorConfiguration(true, "");
config.loadInModel(settings);
}
use of org.knime.base.node.mine.treeensemble2.node.predictor.TreeEnsemblePredictorConfiguration in project knime-core by knime.
the class TreeEnsembleClassificationLearnerNodeModel method createOutOfBagPredictor.
/**
* @param ensembleSpec
* @param ensembleModel
* @param inSpec
* @return
* @throws InvalidSettingsException
*/
private TreeEnsemblePredictor createOutOfBagPredictor(final TreeEnsembleModelPortObjectSpec ensembleSpec, final TreeEnsembleModelPortObject ensembleModel, final DataTableSpec inSpec) throws InvalidSettingsException {
String targetColumn = m_configuration.getTargetColumn();
TreeEnsemblePredictorConfiguration ooBConfig = new TreeEnsemblePredictorConfiguration(false, targetColumn);
String append = targetColumn + " (Out-of-bag)";
ooBConfig.setPredictionColumnName(append);
ooBConfig.setAppendPredictionConfidence(true);
ooBConfig.setAppendClassConfidences(true);
ooBConfig.setAppendModelCount(true);
return new TreeEnsemblePredictor(ensembleSpec, ensembleModel, inSpec, ooBConfig);
}
use of org.knime.base.node.mine.treeensemble2.node.predictor.TreeEnsemblePredictorConfiguration in project knime-core by knime.
the class TreeEnsembleRegressionPredictorCellFactory method getCells.
/**
* {@inheritDoc}
*/
@Override
public DataCell[] getCells(final DataRow row) {
TreeEnsembleModelPortObject modelObject = m_predictor.getModelObject();
TreeEnsemblePredictorConfiguration cfg = m_predictor.getConfiguration();
final TreeEnsembleModel ensembleModel = modelObject.getEnsembleModel();
int size = 1;
final boolean appendConfidence = cfg.isAppendPredictionConfidence();
final boolean appendModelCount = cfg.isAppendModelCount();
if (appendConfidence) {
size += 1;
}
if (appendModelCount) {
size += 1;
}
final boolean hasOutOfBagFilter = m_predictor.hasOutOfBagFilter();
DataCell[] result = new DataCell[size];
DataRow filterRow = new FilterColumnRow(row, m_learnColumnInRealDataIndices);
PredictorRecord record = ensembleModel.createPredictorRecord(filterRow, m_learnSpec);
if (record == null) {
// missing value
Arrays.fill(result, DataType.getMissingCell());
return result;
}
Mean mean = new Mean();
Variance variance = new Variance();
final int nrModels = ensembleModel.getNrModels();
for (int i = 0; i < nrModels; i++) {
if (hasOutOfBagFilter && m_predictor.isRowPartOfTrainingData(row.getKey(), i)) {
// ignore, row was used to train the model
} else {
TreeModelRegression m = ensembleModel.getTreeModelRegression(i);
TreeNodeRegression match = m.findMatchingNode(record);
double nodeMean = match.getMean();
mean.increment(nodeMean);
variance.increment(nodeMean);
}
}
int nrValidModels = (int) mean.getN();
int index = 0;
result[index++] = nrValidModels == 0 ? DataType.getMissingCell() : new DoubleCell(mean.getResult());
if (appendConfidence) {
result[index++] = nrValidModels == 0 ? DataType.getMissingCell() : new DoubleCell(variance.getResult());
}
if (appendModelCount) {
result[index++] = new IntCell(nrValidModels);
}
return result;
}
Aggregations