#!/usr/bin/python
# -*- coding: utf-8 -*-
import orange, orngC45, sys, pickle
def make_tree(fname, memory, remember):
data = orange.ExampleTable(fname)
print fname, data.domain.classVar.values
tree = orange.C45Learner(data)
if remember: memory.append(tree)
tfname = fname + '.tree'
f = open(tfname, 'w')
pickle.dump(tree, f)
f.close()
print 'Tree saved to', tfname
print 'classVar:', tree.classVar.values
def load_tree(fname, memory, remember):
tfname = fname + '.tree'
f = open(tfname)
tree = pickle.load(f)
if remember: memory.append(tree)
f.close()
print 'Tree loaded from', tfname
print 'classVar:', tree.classVar.values
orngC45.printTree(tree)
if __name__ == '__main__':
f_data1 = 'zoo.tab'
f_data2 = 'zoo2.tab'
memory = []
if len(sys.argv) > 1:
remember = 'r' in sys.argv[1]
for c in sys.argv[1]:
if c == '1':
make_tree(f_data1, memory, remember)
elif c == '2':
make_tree(f_data2, memory, remember)
elif c == 'a':
load_tree(f_data1, memory, remember)
elif c == 'b':
load_tree(f_data2, memory, remember)