def regen(genes): genes = list(genes) l = len(genes) random.shuffle(genes) def r(g): global i f.getGene(g) print("%d/%d" % (i,l)) i += 1 parallel_map_dill(2, r, (g.strip() for g in genes))
def regen(genes): genes = list(genes) l = len(genes) random.shuffle(genes) def r(g): global i f.getGene(g) print("%d/%d" % (i, l)) i += 1 parallel_map_dill(2, r, (g.strip() for g in genes))
def completeTest(self, treelikerArgs, processes=1): self.generateExamplesUnified() bestClassifiers = [] terms = self.termsByDepth( ) # This sorting is needed later in bnet learning treeliker = TreeLikerWrapper(self, *treelikerArgs) def processTerm(term): return term, treeliker.runTermTest(term) nets = defaultdict(dict) allresults = tuple(parallel_map_dill(processes, processTerm, terms)) combis = set() for term, learned in allresults: for clfName, i in learned: combis.add((term, clfName)) #for clf, X_train, y_train, X_test, y_test, X_validation, y_validation, g_train, g_test, g_validation in folds: if clfName in nets[i]: net = nets[i][clfName] else: net = BayesNet(i, clfName, self) nets[i][clfName] = net net.generateCPD( term ) #, clf, X_train, y_train, X_test, y_test, X_validation, y_validation, g_train, g_test, g_validation) for i, byClf in sorted(nets.items()): for clfName, net in byClf.items(): net.bake() net.predict() debug("Generating plots.") #for term, learned in allresults: # for clfName, folds in learned.items(): plt.figure(figsize=(6, 12)) for term, clfName in combis: plt.clf() termN = self[term]['name'] cvdir = getTermPath(termN) #folds2 = [(nets[i][clfName].nodeAsClf(term),)+f[1:] for i,f in enumerate(folds)] s1 = plt.subplot(211, adjustable='box', aspect=1) s1.axis('equal') #s1.legend(loc='center left', bbox_to_anchor=(1, 0.5)) plotRoc(termN, clfName, termN) s2 = plt.subplot(212, adjustable='box', aspect=1) s2.axis('equal') #s2.legend(loc='center left', bbox_to_anchor=(1, 0.5)) plotRoc(termN, clfName, "Bayes correction", clfs=(nets[i][clfName].nodeAsClf(term) for i in range(NUM_FOLDS))) #plotRoc("Bayes correction", folds2) print(str(cvdir / (clfName.replace(" ", "_") + '_roc.png'))) plt.savefig(str(cvdir / (clfName.replace(" ", "_") + '_roc.png'))) plt.savefig(str(cvdir / (clfName.replace(" ", "_") + '_roc.ps'))) debug("Finished complete test.")
def completeTest(self, treelikerArgs, processes = 1): self.generateExamplesUnified() bestClassifiers = [] terms = self.termsByDepth() # This sorting is needed later in bnet learning treeliker = TreeLikerWrapper(self, *treelikerArgs) def processTerm(term): return term, treeliker.runTermTest(term) nets = defaultdict(dict) allresults = tuple(parallel_map_dill(processes, processTerm, terms)) combis = set() for term, learned in allresults: for clfName, i in learned: combis.add((term,clfName)) #for clf, X_train, y_train, X_test, y_test, X_validation, y_validation, g_train, g_test, g_validation in folds: if clfName in nets[i]: net = nets[i][clfName] else: net = BayesNet(i, clfName, self) nets[i][clfName] = net net.generateCPD(term)#, clf, X_train, y_train, X_test, y_test, X_validation, y_validation, g_train, g_test, g_validation) for i, byClf in sorted(nets.items()): for clfName, net in byClf.items(): net.bake() net.predict() debug("Generating plots.") #for term, learned in allresults: # for clfName, folds in learned.items(): plt.figure(figsize = (6,12)) for term,clfName in combis: plt.clf() termN = self[term]['name'] cvdir = getTermPath(termN) #folds2 = [(nets[i][clfName].nodeAsClf(term),)+f[1:] for i,f in enumerate(folds)] s1 = plt.subplot(211, adjustable='box', aspect=1) s1.axis('equal') #s1.legend(loc='center left', bbox_to_anchor=(1, 0.5)) plotRoc(termN, clfName, termN) s2 = plt.subplot(212, adjustable='box', aspect=1) s2.axis('equal') #s2.legend(loc='center left', bbox_to_anchor=(1, 0.5)) plotRoc(termN, clfName, "Bayes correction", clfs = (nets[i][clfName].nodeAsClf(term) for i in range(NUM_FOLDS) )) #plotRoc("Bayes correction", folds2) print(str(cvdir/(clfName.replace(" ","_")+'_roc.png'))) plt.savefig(str(cvdir/(clfName.replace(" ","_")+'_roc.png'))) plt.savefig(str(cvdir/(clfName.replace(" ","_")+'_roc.ps'))) debug("Finished complete test.")