Search in sources :

Example 36 with DerivedFieldMapper

use of org.knime.core.node.port.pmml.preproc.DerivedFieldMapper in project knime-core by knime.

the class AbstractMetaDataMapper method createMetaDataMapper.

static AbstractMetaDataMapper<?> createMetaDataMapper(final DataTableSpec tableSpec) {
    DataColumnSpec targetCol = tableSpec.getColumnSpec(tableSpec.getNumColumns() - 1);
    DataType targetType = targetCol.getType();
    // we need the pmml to instantiate the actual mapper which we don't have at this point
    DerivedFieldMapper dummyDerivedFieldMapper = new DerivedFieldMapper(new DerivedFieldDocument.DerivedField[] {});
    if (targetType.isCompatible(StringValue.class)) {
        return new ClassificationMetaDataMapper(tableSpec, targetCol.getName(), dummyDerivedFieldMapper);
    } else if (targetType.isCompatible(DoubleValue.class)) {
        return new RegressionMetaDataMapper(tableSpec, targetCol.getName(), dummyDerivedFieldMapper);
    }
    throw new IllegalArgumentException("The target column \"" + targetCol + "\" is not numeric or nominal.");
}
Also used : DerivedFieldMapper(org.knime.core.node.port.pmml.preproc.DerivedFieldMapper) DataColumnSpec(org.knime.core.data.DataColumnSpec) DoubleValue(org.knime.core.data.DoubleValue) DataType(org.knime.core.data.DataType) DerivedFieldDocument(org.dmg.pmml.DerivedFieldDocument)

Example 37 with DerivedFieldMapper

use of org.knime.core.node.port.pmml.preproc.DerivedFieldMapper in project knime-core by knime.

the class PMMLRuleTranslator method initializeFrom.

/**
 * {@inheritDoc}
 */
@Override
public void initializeFrom(final PMMLDocument pmmlDoc) {
    m_nameMapper = new DerivedFieldMapper(pmmlDoc);
    List<RuleSetModel> models = pmmlDoc.getPMML().getRuleSetModelList();
    if (models.size() == 0) {
        throw new IllegalArgumentException("No treemodel provided.");
    }
    m_originalRuleModel = models.get(0);
    initDataDictionary(pmmlDoc);
    m_rules = parseRulesFromModel(m_originalRuleModel);
    MININGFUNCTION.Enum functionName = m_originalRuleModel.getFunctionName();
    assert functionName == MININGFUNCTION.CLASSIFICATION : functionName;
    m_isScorable = m_originalRuleModel.getIsScorable();
    RuleSet ruleSet = m_originalRuleModel.getRuleSet();
    m_selectionMethodList = ruleSet.getRuleSelectionMethodList();
    m_defaultScore = ruleSet.isSetDefaultScore() ? ruleSet.getDefaultScore() : null;
    m_defaultConfidence = ruleSet.isSetDefaultConfidence() ? ruleSet.getDefaultConfidence() : Double.NaN;
    m_recordCount = ruleSet.isSetRecordCount() ? ruleSet.getRecordCount() : Double.NaN;
    m_nbCorrect = ruleSet.isSetNbCorrect() ? ruleSet.getNbCorrect() : Double.NaN;
}
Also used : DerivedFieldMapper(org.knime.core.node.port.pmml.preproc.DerivedFieldMapper) RuleSetModel(org.dmg.pmml.RuleSetModelDocument.RuleSetModel) RuleSet(org.dmg.pmml.RuleSetDocument.RuleSet) MININGFUNCTION(org.dmg.pmml.MININGFUNCTION)

Aggregations

DerivedFieldMapper (org.knime.core.node.port.pmml.preproc.DerivedFieldMapper)37 PMMLPortObject (org.knime.core.node.port.pmml.PMMLPortObject)11 PMMLPortObjectSpecCreator (org.knime.core.node.port.pmml.PMMLPortObjectSpecCreator)11 PMML (org.dmg.pmml.PMMLDocument.PMML)9 DataTableSpec (org.knime.core.data.DataTableSpec)8 DerivedField (org.dmg.pmml.DerivedFieldDocument.DerivedField)7 BufferedDataTable (org.knime.core.node.BufferedDataTable)7 PortObject (org.knime.core.node.port.PortObject)7 ArrayList (java.util.ArrayList)4 NeuralNetwork (org.dmg.pmml.NeuralNetworkDocument.NeuralNetwork)4 ColumnRearranger (org.knime.core.data.container.ColumnRearranger)4 MININGFUNCTION (org.dmg.pmml.MININGFUNCTION)3 DataColumnSpec (org.knime.core.data.DataColumnSpec)3 DataType (org.knime.core.data.DataType)3 BigInteger (java.math.BigInteger)2 HashMap (java.util.HashMap)2 SchemaType (org.apache.xmlbeans.SchemaType)2 ACTIVATIONFUNCTION (org.dmg.pmml.ACTIVATIONFUNCTION)2 ArrayType (org.dmg.pmml.ArrayType)2 ClusterDocument (org.dmg.pmml.ClusterDocument)2