Building models by ABM

AdvancedMiner provides building classification and approximation models by ABM. ABM is a tool for automatic construction and updating of predictive models. It provides full automation of essential, yet time-consuming activities in model construction, such as fast variable selection, variable interaction modelling, and variable transformations or best model selection.

ABM is available in 4 working modes (3 modes for classification models and 1 for approximation model):

The abm.backend.api.abmQuick command starts ABM Quick mode (Advanced, Gold analogously)

Syntax:

abm.backend.api.abmQuick(tableName, target, targetCategory, inactiveVariables[, 
	qualityMeasureName = s][, cutoff = n][, samplingMode = s][, samplingSize = n][, samplingStratificationMode = s][, samplingPositiveTargetCategoryRatio = n][, 
	classificationThreshold = n][, prefix = s][, mrName = s][, abAliasName = s])

Explanation of parameters:

The abm.backend.api.abmApproximation command starts ABM Approximation mode

Syntax:

abm.backend.api.abmApproximation(tableName, target, inactiveVariables[, 
	qualityMeasureName = s][, samplingMode = s][, samplingSize = n][, prefix = s][, mrName = s][, abAliasName = s])

Explanation of parameters:

The abm.backend.api.exportAbmStatistics command exports statistics to Excel

Syntax:

abm.backend.api.exportAbmStatistics(abmSettingsName[, 
	mrName = s][, path = s][, fileName = s])

Explanation of parameters:

The abm.backend.api.score command scores the data by chosen model

Syntax:

abm.backend.api.score(mrName,settingsName, inputTableName, outputTableName, 
	aliasName, copyColumnList[, classificationThreshold = n])

Explanation of parameters:

The abm.backend.api.calculateTestResults command calculates model statistics in AdvancedMiner (only for classification models)

Syntax:

abm.backend.api.calculateTestResults(abmSettingsName, tableNames[, prefix = s][,
	mrName = s][, abAliasName = s)])

Explanation of parameters:

Example 3.18. Creating model, export of statistics to Excel, data scoring and calculating statistics in AdvancedMiner

# Table name: 
tableName = 'german_credit'

# Target name:
target = 'Class'

# Predicted target category:
targetCategory = 'bad'

# Variables that should be inactive:
inactiveVariables = ['age', 'duration']

# The name of quality measure (LIFT, CAPTURED_RESPONSE, PRECISION, RECALL, ACCURACY):
qualityMeasureName = 'LIFT'

# The data percentile chose to optimize the quality measure:
cutoff = 0.1

# Sampling mode:
samplingMode = 'MANUAL'

# Sampling size:
samplingSize = 30000

# The mode of stratification sampling:
samplingStratificationMode = 'CONST_NUM'

# The proportion of positive target after stratification sampling:
samplingPositiveTargetCategoryRatio = 0.5

# Classification threshold:
classificationThreshold = 0.5

# Prefix of the names of all created objects
prefix = 'quick'

# Metadata repository name:
mrName = mrRegistry().defaultRepository

# Alias:
abAliasName = dbAliasRegistry().getDefaultAliasName()

# Import of necessary functions:
import abm

# ABM Quick launching (analogously: abmAdvanced i abmGold):
abm.backend.api.abmQuick(tableName, target, targetCategory, inactiveVariables, qualityMeasureName, cutoff, samplingMode, samplingSize, samplingStratificationMode, samplingPositiveTargetCategoryRatio, classificationThreshold, prefix, mrName, abAliasName)

# Export of statistics to Excel:
abm.backend.api.exportAbmStatistics(prefix+'abmSettings', path = 'C:\some_data', fileName = 'stats')

# Data scoring:
abm.backend.api.score(mrName,prefix+'abmSettings', 'german_credit', 'german_credit_score', abAliasName, ['Class'])

# Calculating statistics for new databases:
abm.backend.api.calculateTestResults('quickabmSettings', ['german_credit', 'german_credit'], 'scored_stats')