def saveDot(self, filename=None): if filename==None: filename = QFileDialog.getSaveFileName(self, "Save to ...", "tree.dot", "Dot Tree File (.DOT)") filename = unicode(filename) if not filename: return orngTree.printDot(self.tree, filename)
def print_tree(self, data, visual): """ Decision Tree from the data set """ tree = learner(data) orngTree.printTxt(tree) if visual: # visual equals true allows plotting a visual tree. A .dot file is written into the current directory. orngTree.printDot(tree, fileName='tree.dot', internalNodeShape="ellipse", leafShape="box")
def saveDot(self, filename=None): if filename == None: filename = str( QFileDialog.getSaveFileName(self, "Save to ...", "tree.dot", "Dot Tree File (.DOT)")) if not filename: return orngTree.printDot(self.tree, filename)
def print_tree(self, data, visual): """ Decision Tree from the data set """ tree = learner(data) orngTree.printTxt(tree) if visual: # visual equals true allows plotting a visual tree. A .dot file is written into the current directory. orngTree.printDot(tree, fileName='tree.dot', internalNodeShape="ellipse", leafShape="box")
def report_tree(self, name): filename = name + '.tsv' stream = file(filename, 'wt') # header stream.write('\t'.join(self.names) + '\n') stream.write('\t'.join(self.types) + '\n') stream.write('class\n') # rows for row in self.rows: if row[0] == 'skip': continue row += [''] * (len(self.names) - len(row)) stream.write('\t'.join(row) + '\n') stream.close() # See http://www.ailab.si/orange/doc/ofb/c_otherclass.htm try: import orange import orngTree except ImportError: sys.stderr.write( 'Install Orange from http://www.ailab.si/orange/ for a classification tree.\n' ) return None data = orange.ExampleTable(filename) tree = orngTree.TreeLearner(data, sameMajorityPruning=1, mForPruning=2) orngTree.printTxt(tree, maxDepth=4) text_tree = orngTree.dumpTree(tree) file(name + '.txt', 'wt').write(text_tree) orngTree.printDot(tree, fileName=name + '.dot', nodeShape='ellipse', leafShape='box') return text_tree
def summary(self): sys.stdout.write("%u tests, %u passed, %u skipped, %u failed\n\n" % (self.tests, self.passed, self.skipped, self.failed)) sys.stdout.flush() name, ext = os.path.splitext(os.path.basename(sys.argv[0])) filename = name + '.tsv' stream = file(filename, 'wt') # header stream.write('\t'.join(self.names) + '\n') stream.write('\t'.join(self.types) + '\n') stream.write('class\n') # rows for row in self.rows: row += [''] * (len(self.names) - len(row)) stream.write('\t'.join(row) + '\n') stream.close() # See http://www.ailab.si/orange/doc/ofb/c_otherclass.htm try: import orange import orngTree except ImportError: sys.stderr.write( 'Install Orange from http://www.ailab.si/orange/ for a classification tree.\n' ) return data = orange.ExampleTable(filename) tree = orngTree.TreeLearner(data, sameMajorityPruning=1, mForPruning=2) orngTree.printTxt(tree, maxDepth=4) file(name + '.txt', 'wt').write(orngTree.dumpTree(tree)) orngTree.printDot(tree, fileName=name + '.dot', nodeShape='ellipse', leafShape='box')
def report_tree(self, name): filename = name + '.tsv' stream = file(filename, 'wt') # header stream.write('\t'.join(self.names) + '\n') stream.write('\t'.join(self.types) + '\n') stream.write('class\n') # rows for row in self.rows: if row[0] == 'skip': continue row += ['']*(len(self.names) - len(row)) stream.write('\t'.join(row) + '\n') stream.close() # See http://www.ailab.si/orange/doc/ofb/c_otherclass.htm try: import orange import orngTree except ImportError: sys.stderr.write('Install Orange from http://www.ailab.si/orange/ for a classification tree.\n') return None data = orange.ExampleTable(filename) tree = orngTree.TreeLearner(data, sameMajorityPruning=1, mForPruning=2) orngTree.printTxt(tree, maxDepth=4) text_tree = orngTree.dumpTree(tree) file(name + '.txt', 'wt').write(text_tree) orngTree.printDot(tree, fileName=name+'.dot', nodeShape='ellipse', leafShape='box') return text_tree
def classifier(personalrecords, features , attlist ,lowage, upage ,estimation): data = orange.ExampleTable(createAttributes(attlist), getallfeatures(personalrecords,attlist, lowage, upage, 'MONTHS')) bayes = orange.BayesLearner() bayesWithEstimation = orange.BayesLearner(m=estimation) tree = orngTree.TreeLearner(mForPruning=2) bayes.name = "bayes" bayesWithEstimation.name = "bayesWithEstimation" tree.name = "tree" learners = [bayes, bayesWithEstimation] print '10 fold cross validattion' results = orngTest.crossValidation(learners, data, folds=10) # output the results print "Learner CA IS Brier AUC" for i in range(len(learners)): print "%-8s %5.3f %5.3f %5.3f %5.3f" % (learners[i].name, \ orngStat.CA(results)[i], orngStat.IS(results)[i], orngStat.BrierScore(results)[i], orngStat.AUC(results)[i]) if learners[i].name == 'bayes' or learners[i].name == 'bayesWithEstimation': orngTree.printDot(tree, fileName='c:\\tree10.dot', internalNodeShape="ellipse", leafShape="box") orngTree.printDot(bayes, fileName='c:\\bayes10.dot', internalNodeShape="ellipse", leafShape="box")
def summary(self): sys.stdout.write("%u tests, %u passed, %u skipped, %u failed\n\n" % (self.tests, self.passed, self.skipped, self.failed)) sys.stdout.flush() name, ext = os.path.splitext(os.path.basename(sys.argv[0])) filename = name + '.tsv' stream = file(filename, 'wt') # header stream.write('\t'.join(self.names) + '\n') stream.write('\t'.join(self.types) + '\n') stream.write('class\n') # rows for row in self.rows: row += ['']*(len(self.names) - len(row)) stream.write('\t'.join(row) + '\n') stream.close() # See http://www.ailab.si/orange/doc/ofb/c_otherclass.htm try: import orange import orngTree except ImportError: sys.stderr.write('Install Orange from http://www.ailab.si/orange/ for a classification tree.\n') return data = orange.ExampleTable(filename) tree = orngTree.TreeLearner(data, sameMajorityPruning=1, mForPruning=2) orngTree.printTxt(tree, maxDepth=4) file(name+'.txt', 'wt').write(orngTree.dumpTree(tree)) orngTree.printDot(tree, fileName=name+'.dot', nodeShape='ellipse', leafShape='box')
#!/usr/bin/env python # # See also: # http://www.ailab.si/orange/doc/ofb/c_otherclass.htm import os.path import sys import orange import orngTree for arg in sys.argv[1:]: name, ext = os.path.splitext(arg) data = orange.ExampleTable(arg) tree = orngTree.TreeLearner(data, sameMajorityPruning=1, mForPruning=2) orngTree.printTxt(tree) file(name + '.txt', 'wt').write(orngTree.dumpTree(tree) + '\n') orngTree.printDot(tree, fileName=name + '.dot', nodeShape='ellipse', leafShape='box')
# Description: Learn decision tree from data and output class probabilities for first few instances # Category: modelling # Uses: voting.tab # Classes: orngTree.TreeLearner # Referenced: c_otherclass.htm import orange, orngTree data = orange.ExampleTable("voting") tree = orngTree.TreeLearner(data, sameMajorityPruning=1, mForPruning=2) print "Possible classes:", data.domain.classVar.values print "Probabilities for democrats:" for i in range(5): p = tree(data[i], orange.GetProbabilities) print "%d: %5.3f (originally %s)" % (i+1, p[1], data[i].getclass()) print orngTree.printTxt(tree) orngTree.printDot(tree, fileName='tree.dot', internalNodeShape="ellipse", leafShape="box")
# Author: J Zabkar # Version: 1.0 # Description: Demostration of use of orngTree module: prin out # a tree in text and dot format # Category: modelling # Uses: iris # Referenced: orngTree.htm import orange, orngTree data = orange.ExampleTable("iris.tab") tree = orange.TreeLearner(data) orngTree.printTree(tree) orngTree.printDot(tree, fileName="tree1.dot")
#!/usr/bin/env python # # See also: # http://www.ailab.si/orange/doc/ofb/c_otherclass.htm import os.path import sys import orange import orngTree for arg in sys.argv[1:]: name, ext = os.path.splitext(arg) data = orange.ExampleTable(arg) tree = orngTree.TreeLearner(data, sameMajorityPruning=1, mForPruning=2) orngTree.printTxt(tree) file(name+'.txt', 'wt').write(orngTree.dumpTree(tree) + '\n') orngTree.printDot(tree, fileName=name+'.dot', nodeShape='ellipse', leafShape='box')
# Description: Learn decision tree from data and output class probabilities for first few instances # Category: modelling # Uses: voting.tab # Classes: orngTree.TreeLearner # Referenced: c_otherclass.htm import orange, orngTree data = orange.ExampleTable("voting") tree = orngTree.TreeLearner(data, sameMajorityPruning=1, mForPruning=2) print "Possible classes:", data.domain.classVar.values print "Probabilities for democrats:" for i in range(5): p = tree(data[i], orange.GetProbabilities) print "%d: %5.3f (originally %s)" % (i + 1, p[1], data[i].getclass()) print orngTree.printTxt(tree) orngTree.printDot(tree, fileName='tree.dot', internalNodeShape="ellipse", leafShape="box")