Example A.4. Classification Trees
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#
# AdvancedMiner Example Script
# Copyright Algolytics sp. z o. o. 2004-2015
#
#
# Example description: Decision Trees
# classification building, testing and
# applying examples
#
# Input data:
# Murphy, P. M. & Aha, D.W. (1994).
# UCI Repository of machine learning databases;
# http://www.ics.uci.edu/~mlearn/MLRepository.html;
# Irvine, CA: University of California,
# Department of Information and Computer Science.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
table 'zoo' :
animal hair feathers eggs milk airborne aquatic predator toothed backbone breathes venomous fins legs tail domestic catsize type
'aardvark' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'false' 'false' 'true' 'mammal'
'antelope' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'bass' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'false' 'fish'
'bear' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'false' 'false' 'true' 'mammal'
'boar' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'buffalo' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'calf' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'true' 'true' 'mammal'
'carp' 'false' 'false' 'true' 'false' 'false' 'true' 'false' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'true' 'false' 'fish'
'catfish' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'false' 'fish'
'cavy' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'false' 'true' 'false' 'mammal'
'cheetah' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'chicken' 'false' 'true' 'true' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'true' 'false' 'bird'
'chub' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'false' 'fish'
'clam' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'false' 'false' 'false' 'false' 'false' 0.0 'false' 'false' 'false' 'invertebrate'
'crab' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'false' 'false' 'false' 'false' 'false' 4.0 'false' 'false' 'false' 'invertebrate'
'crayfish' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'false' 'false' 'false' 'false' 'false' 6.0 'false' 'false' 'false' 'invertebrate'
'crow' 'false' 'true' 'true' 'false' 'true' 'false' 'true' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
'deer' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'dogfish' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'true' 'fish'
'dolphin' 'false' 'false' 'false' 'true' 'false' 'true' 'true' 'true' 'true' 'true' 'false' 'true' 0.0 'true' 'false' 'true' 'mammal'
'dove' 'false' 'true' 'true' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'true' 'false' 'bird'
'duck' 'false' 'true' 'true' 'false' 'true' 'true' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
'elephant' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'flamingo' 'false' 'true' 'true' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'true' 'bird'
'flea' 'false' 'false' 'true' 'false' 'false' 'false' 'false' 'false' 'false' 'true' 'false' 'false' 6.0 'false' 'false' 'false' 'insect'
'frog' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'false' 'false' 'false' 'amphibian'
'frog' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'true' 'true' 'false' 4.0 'false' 'false' 'false' 'amphibian'
'fruitbat' 'true' 'false' 'false' 'true' 'true' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'mammal'
'giraffe' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'girl' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 2.0 'false' 'true' 'true' 'mammal'
'gnat' 'false' 'false' 'true' 'false' 'true' 'false' 'false' 'false' 'false' 'true' 'false' 'false' 6.0 'false' 'false' 'false' 'insect'
'goat' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'true' 'true' 'mammal'
'gorilla' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 2.0 'false' 'false' 'true' 'mammal'
'gull' 'false' 'true' 'true' 'false' 'true' 'true' 'true' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
'haddock' 'false' 'false' 'true' 'false' 'false' 'true' 'false' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'false' 'fish'
'hamster' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'true' 'false' 'mammal'
'hare' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'false' 'mammal'
'hawk' 'false' 'true' 'true' 'false' 'true' 'false' 'true' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
'herring' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'false' 'fish'
'honeybee' 'true' 'false' 'true' 'false' 'true' 'false' 'false' 'false' 'false' 'true' 'true' 'false' 6.0 'false' 'true' 'false' 'insect'
'housefly' 'true' 'false' 'true' 'false' 'true' 'false' 'false' 'false' 'false' 'true' 'false' 'false' 6.0 'false' 'false' 'false' 'insect'
'kiwi' 'false' 'true' 'true' 'false' 'false' 'false' 'true' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
'ladybird' 'false' 'false' 'true' 'false' 'true' 'false' 'true' 'false' 'false' 'true' 'false' 'false' 6.0 'false' 'false' 'false' 'insect'
'lark' 'false' 'true' 'true' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
'leopard' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'lion' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'lobster' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'false' 'false' 'false' 'false' 'false' 6.0 'false' 'false' 'false' 'invertebrate'
'lynx' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'mink' 'true' 'false' 'false' 'true' 'false' 'true' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'mole' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'false' 'mammal'
'mongoose' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'moth' 'true' 'false' 'true' 'false' 'true' 'false' 'false' 'false' 'false' 'true' 'false' 'false' 6.0 'false' 'false' 'false' 'insect'
'newt' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'false' 'amphibian'
'octopus' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'false' 'false' 'false' 'false' 'false' 8.0 'false' 'false' 'true' 'invertebrate'
'opossum' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'false' 'mammal'
'oryx' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'ostrich' 'false' 'true' 'true' 'false' 'false' 'false' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'true' 'bird'
'parakeet' 'false' 'true' 'true' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'true' 'false' 'bird'
'penguin' 'false' 'true' 'true' 'false' 'false' 'true' 'true' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'true' 'bird'
'pheasant' 'false' 'true' 'true' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
'pike' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'true' 'fish'
'piranha' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'false' 'fish'
'pitviper' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'true' 'true' 'false' 0.0 'true' 'false' 'false' 'reptile'
'platypus' 'true' 'false' 'true' 'true' 'false' 'true' 'true' 'false' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'polecat' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'pony' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'true' 'true' 'mammal'
'porpoise' 'false' 'false' 'false' 'true' 'false' 'true' 'true' 'true' 'true' 'true' 'false' 'true' 0.0 'true' 'false' 'true' 'mammal'
'puma' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'pussycat' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'true' 'true' 'mammal'
'raccoon' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'reindeer' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'true' 'true' 'mammal'
'rhea' 'false' 'true' 'true' 'false' 'false' 'false' 'true' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'true' 'bird'
'scorpion' 'false' 'false' 'false' 'false' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'false' 8.0 'true' 'false' 'false' 'invertebrate'
'seahorse' 'false' 'false' 'true' 'false' 'false' 'true' 'false' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'false' 'fish'
'seal' 'true' 'false' 'false' 'true' 'false' 'true' 'true' 'true' 'true' 'true' 'false' 'true' 0.0 'false' 'false' 'true' 'mammal'
'sealion' 'true' 'false' 'false' 'true' 'false' 'true' 'true' 'true' 'true' 'true' 'false' 'true' 2.0 'true' 'false' 'true' 'mammal'
'seasnake' 'false' 'false' 'false' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'true' 'false' 0.0 'true' 'false' 'false' 'reptile'
'seawasp' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'false' 'false' 'false' 'true' 'false' 0.0 'false' 'false' 'false' 'invertebrate'
'skimmer' 'false' 'true' 'true' 'false' 'true' 'true' 'true' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
'skua' 'false' 'true' 'true' 'false' 'true' 'true' 'true' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
'slowworm' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 0.0 'true' 'false' 'false' 'reptile'
'slug' 'false' 'false' 'true' 'false' 'false' 'false' 'false' 'false' 'false' 'true' 'false' 'false' 0.0 'false' 'false' 'false' 'invertebrate'
'sole' 'false' 'false' 'true' 'false' 'false' 'true' 'false' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'false' 'fish'
'sparrow' 'false' 'true' 'true' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
'squirrel' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'mammal'
'starfish' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'false' 'false' 'false' 'false' 'false' 5.0 'false' 'false' 'false' 'invertebrate'
'stingray' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'true' 'true' 0.0 'true' 'false' 'true' 'fish'
'swan' 'false' 'true' 'true' 'false' 'true' 'true' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'true' 'bird'
'termite' 'false' 'false' 'true' 'false' 'false' 'false' 'false' 'false' 'false' 'true' 'false' 'false' 6.0 'false' 'false' 'false' 'insect'
'toad' 'false' 'false' 'true' 'false' 'false' 'true' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'false' 'false' 'false' 'amphibian'
'tortoise' 'false' 'false' 'true' 'false' 'false' 'false' 'false' 'false' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'reptile'
'tuatara' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'false' 'reptile'
'tuna' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 'true' 0.0 'true' 'false' 'true' 'fish'
'vampire' 'true' 'false' 'false' 'true' 'true' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'mammal'
'vole' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'false' 'mammal'
'vulture' 'false' 'true' 'true' 'false' 'true' 'false' 'true' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'true' 'bird'
'wallaby' 'true' 'false' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'true' 'mammal'
'wasp' 'true' 'false' 'true' 'false' 'true' 'false' 'false' 'false' 'false' 'true' 'true' 'false' 6.0 'false' 'false' 'false' 'insect'
'wolf' 'true' 'false' 'false' 'true' 'false' 'false' 'true' 'true' 'true' 'true' 'false' 'false' 4.0 'true' 'false' 'true' 'mammal'
'worm' 'false' 'false' 'true' 'false' 'false' 'false' 'false' 'false' 'false' 'true' 'false' 'false' 0.0 'false' 'false' 'false' 'invertebrate'
'wren' 'false' 'true' 'true' 'false' 'true' 'false' 'false' 'false' 'true' 'true' 'false' 'false' 2.0 'true' 'false' 'false' 'bird'
# Creating building task object, this will produce sample_cl_settings,
# and after executing of this task also created_model will be available
bt = MiningBuildTask('zoo_data', 'zoo_cl_settings', 'created_model')
# Creating physical data from previously prepared dataset
pd = PhysicalData('zoo')
# Generating logical data from physical data
ld = LogicalData(pd)
# New Classificatin function settings
fs = ClassificationFunctionSettings()
# generated logical data is assigned to function settings
fs.logicalData = ld
# Turn off attribute animal from learning
fs.attributeUsageSet.getAttribute('animal').usage =\
UsageOption.inactive
# TargetAttribute name describe which value is taken as target for
# classification
fs.targetAttributeName = 'catsize'
# Will use Decision Tree algorithm settings
fs.algorithmSettings = TreeSettings()
# Sets minimal example count for node to 1
fs.algorithmSettings.minNodeSize = 1
# Sets split evaluation fuction used when tree is building.
fs.algorithmSettings.splitEvaluation = SplitEvaluation.entropy
# Sets maximal node child count to 10
fs.algorithmSettings.maxNodeRank = 10
# All created objects have to be saved into the metadataRespository
save('zoo_data', pd)
save('zoo_ld_train', ld)
save('zoo_cl_settings', fs)
save('zoo_building', bt)
# And finally build task is executed
print "Executing build task"
execute('zoo_building')
print "Model 'created_model' created"
print "\nEnd of script"Output:
Executing build task Model 'created_model' created End of script