Classification Trees

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