def sousProcessClassify(c,n_fold, loadingFolder): #subprocess.call(["/media/lalil0u/New/software2/downloads/unpacked/svm-python-v204/svm_python_classify", "--m", "test", "-v", "3", "results/data_TEST_fold"+str(n_fold)+".pkl", "results/modelfile_"+c+"_"+str(n_fold)+".pkl"]) f = open(loadingFolder+"models/modelfile_"+c+"_"+str(n_fold)+".pkl", 'r') mesPoids = pickle.load(f) f.close() #pdb.set_trace() test_sol = classify.read_examples(loadingFolder+"data_TEST_fold"+str(n_fold)+".pkl") total_loss = []; test_contenu = [] for (x,y) in test_sol: test_contenu.append(classify.contenu(y)) ybar = classify.classify_example(x, mesPoids) l = classify.loss(y, ybar)#attention ce n'est plus la hamming loss ms une liste de cinq chiffres total_loss = l if total_loss == [] else np.vstack((total_loss, l)) return total_loss, test_contenu
def sousProcessClassify(sol, loadingFolder, loadingFile=None, i=None, n_f=None): # subprocess.call(["/media/lalil0u/New/software2/downloads/unpacked/svm-python-v204/svm_python_classify", "--m", "test", "-v", "3", "results/data_TEST_fold"+str(n_fold)+".pkl", "results/modelfile_"+c+"_"+str(n_fold)+".pkl"]) if i == None: f = open(loadingFolder + "modelfile_all.pkl", "r") elif n_f == None: c = "{:f}".format(10 ** i) f = open(loadingFolder + "modelfile_all" + c + ".pkl", "r") else: c = "{:f}".format(10 ** i) f = open(loadingFolder + "modelfile_" + c + "_" + str(n_f) + ".pkl", "r") mesPoids = pickle.load(f) f.close() new_sol = [] # pdb.set_trace() if loadingFile == None: for solu in sol.lstSolutions: new_sol.append((solu, solu.truthVec())) else: new_sol = classify.read_examples(loadingFile) r = {} for (x, y) in new_sol: r1 = [] if x.plate not in r: r[x.plate] = {} if x.well not in r[x.plate]: r[x.plate][x.well] = {} try: ybar, cost, M = classify_example(x, mesPoids) except: print "pbl de NaN" x.truth = "PROBLEME DE NaN" continue else: for k in range(len(ybar)): r1.extend(ybar[k]) x.truth = r1 dou = [] M = M.transpose() for k in range(len(cost)): dou.append((cost[k], M[k])) r[x.plate][x.well][x.index] = dou return new_sol, r
def sousProcessClassify(sol, loadingFolder, loadingFile= None, i =None, n_f =None, n_big_f=None): #subprocess.call(["/media/lalil0u/New/software2/downloads/unpacked/svm-python-v204/svm_python_classify", "--m", "test", "-v", "3", "results/data_TEST_fold"+str(n_fold)+".pkl", "results/modelfile_"+c+"_"+str(n_fold)+".pkl"]) if i==None: f = open(os.path.join(loadingFolder,"modelfile_all.pkl"), 'r') elif n_f==None: c = "{:f}".format(10**i) if n_big_f==None: f = open(os.path.join(loadingFolder,"modelfile_all"+c+".pkl"), 'r') else: f = open(os.path.join(loadingFolder,"modelfile_all"+c+"_"+str(n_big_f)+".pkl"), 'r') else: c = "{:f}".format(10**i) if n_big_f is not None: f = open(os.path.join(loadingFolder,"modelfile_"+c+"_"+str(n_big_f)+'_'+str(n_f)+".pkl"), 'r') else: f = open(os.path.join(loadingFolder,"modelfile_"+c+"_"+str(n_f)+".pkl"), 'r') mesPoids = pickle.load(f) f.close() new_sol = [] zz=0 if loadingFile == None: for solu in sol.lstSolutions: new_sol.append((solu, solu.truthVec())) zz+=1 else: new_sol = classify.read_examples(loadingFile) for x,_ in new_sol: r1=[] try: ybar = classify.classify_example(x, mesPoids) except: print "pbl de NaN" x.truth = "PROBLEME DE NaN" continue else: for k in range(len(ybar)): r1.extend(ybar[k]) x.truth = r1 return new_sol