Search in sources :

Example 1 with ProximityMeasure

use of org.knime.base.node.mine.treeensemble2.node.proximity.RandomForestProximityNodeModel.ProximityMeasure in project knime-core by knime.

the class RandomForestProximityNodeModel method execute.

@Override
protected BufferedDataTable[] execute(final PortObject[] inObjects, final ExecutionContext exec) throws Exception {
    TreeEnsembleModelPortObject model = (TreeEnsembleModelPortObject) inObjects[0];
    BufferedDataTable table1 = (BufferedDataTable) inObjects[1];
    BufferedDataTable table2 = (BufferedDataTable) inObjects[2];
    BufferedDataTable[] tables;
    if (table2 != null) {
        tables = new BufferedDataTable[] { table1, table2 };
    } else {
        tables = new BufferedDataTable[] { table1 };
    }
    ExecutionContext calcExec = exec.createSubExecutionContext(0.7);
    ExecutionContext writeExec = exec.createSubExecutionContext(0.3);
    exec.setMessage("Calculating Proximity");
    ProximityMatrix pm = null;
    ProximityMeasure proximityMeasure = ProximityMeasure.valueOf(m_proximityMeasure.getStringValue());
    switch(proximityMeasure) {
        case PathProximity:
            pm = new PathProximity(tables, model).calculatePathProximities(calcExec);
            break;
        case Proximity:
            pm = Proximity.calcProximities(tables, model, calcExec);
            break;
        default:
            throw new IllegalStateException("Illegal proximity measure encountered.");
    }
    exec.setMessage("Writing");
    return new BufferedDataTable[] { pm.createTable(writeExec) };
}
Also used : TreeEnsembleModelPortObject(org.knime.base.node.mine.treeensemble2.model.TreeEnsembleModelPortObject) ExecutionContext(org.knime.core.node.ExecutionContext) BufferedDataTable(org.knime.core.node.BufferedDataTable)

Example 2 with ProximityMeasure

use of org.knime.base.node.mine.treeensemble2.node.proximity.RandomForestProximityNodeModel.ProximityMeasure in project knime-core by knime.

the class RandomForestNearestNeighborNodeModel method execute.

/**
 * {@inheritDoc}
 */
@Override
protected BufferedDataTable[] execute(final PortObject[] inObjects, final ExecutionContext exec) throws Exception {
    TreeEnsembleModelPortObject ensembleModel = (TreeEnsembleModelPortObject) inObjects[0];
    boolean optionalTable = inObjects[2] != null;
    BufferedDataTable[] tables = new BufferedDataTable[optionalTable ? 2 : 1];
    tables[0] = (BufferedDataTable) inObjects[1];
    if (optionalTable) {
        tables[1] = (BufferedDataTable) inObjects[2];
    }
    ExecutionContext proxExec = exec.createSubExecutionContext(0.6);
    ExecutionContext nnExec = exec.createSubExecutionContext(0.4);
    exec.setMessage("Calculating");
    ProximityMatrix proximityMatrix = Proximity.calcProximities(tables, ensembleModel, proxExec);
    ProximityMeasure proximityMeasure = ProximityMeasure.valueOf(m_proximityMeasure.getStringValue());
    switch(proximityMeasure) {
        case Proximity:
            proximityMatrix = Proximity.calcProximities(tables, ensembleModel, proxExec);
            break;
        case PathProximity:
            proximityMatrix = new PathProximity(tables, ensembleModel).calculatePathProximities(proxExec);
            break;
        default:
            throw new IllegalStateException("Encountered unknown proximity measure.");
    }
    exec.setMessage("Calculating nearest neighbors");
    int k = m_numNearestNeighbors.getIntValue();
    return proximityMatrix.getNearestNeighbors(nnExec, k);
}
Also used : TreeEnsembleModelPortObject(org.knime.base.node.mine.treeensemble2.model.TreeEnsembleModelPortObject) ExecutionContext(org.knime.core.node.ExecutionContext) BufferedDataTable(org.knime.core.node.BufferedDataTable) ProximityMatrix(org.knime.base.node.mine.treeensemble2.node.proximity.ProximityMatrix) ProximityMeasure(org.knime.base.node.mine.treeensemble2.node.proximity.RandomForestProximityNodeModel.ProximityMeasure) PathProximity(org.knime.base.node.mine.treeensemble2.node.proximity.PathProximity)

Aggregations

TreeEnsembleModelPortObject (org.knime.base.node.mine.treeensemble2.model.TreeEnsembleModelPortObject)2 BufferedDataTable (org.knime.core.node.BufferedDataTable)2 ExecutionContext (org.knime.core.node.ExecutionContext)2 PathProximity (org.knime.base.node.mine.treeensemble2.node.proximity.PathProximity)1 ProximityMatrix (org.knime.base.node.mine.treeensemble2.node.proximity.ProximityMatrix)1 ProximityMeasure (org.knime.base.node.mine.treeensemble2.node.proximity.RandomForestProximityNodeModel.ProximityMeasure)1