def train(X, y, set_id): EM_result = {} for ex in xrange(len(no_of_expert_groups)): #generate expert #self.Training_instances = self.N - self.Testing_instanceswrong percentage #60% good:40 % bad EM_result[ex] = {} for missing_percent in pmissing: print "For group ", ex expert_wrong_percentage = [] for i in xrange(int(no_of_expert_groups[ex]*expert_bads)): #bads num = 0.90 #((random()%0.5) + 0.5) % 1.0 expert_wrong_percentage.append(num) for i in xrange(int(no_of_expert_groups[ex]*expert_goods)): #goods num = 0.30 #random()%0.5 expert_wrong_percentage.append(num) crowds_EM = None failed = 0 iterations = 0 total_iter = 10 while iterations < total_iter : try: crowds_EM = Crowds_EM( X, y, min_class_label, max_class_label, expert_wrong_percentage, verbose= verbose_output, synthetic=synthetic_data, missing=missing_data, percent_missing=missing_percent) #crowds_EM.run_EM_missing() crowds_EM.run() except Exception,e: #Rerunning ... import traceback print traceback.print_exc() failed+=1 try: crowds_EM = Crowds_EM( X, y, min_class_label, max_class_label, expert_wrong_percentage, verbose= verbose_output, synthetic=synthetic_data, missing=missing_data, percent_missing=missing_percent) #crowds_EM.run_EM_missing() crowds_EM.run() except Exception,e: failed+=1 pass else : EM_result[ex][missing_percent] = crowds_EM.results break else : EM_result[ex][missing_percent] = crowds_EM.results break #print "iteration :" , iterations iterations+=1
def train(X, y, set_id): EM_result = {} for ex in xrange(len(no_of_expert_groups)): print "For group ", ex expert_wrong_percentage = [] for i in xrange(int(no_of_expert_groups[ex] * expert_bads)): # bads num = 0.90 # ((random()%0.5) + 0.5) % 1.0 expert_wrong_percentage.append(num) for i in xrange(int(no_of_expert_groups[ex] * expert_goods)): # goods num = 0.30 # random()%0.5 expert_wrong_percentage.append(num) crowds_EM = None failed = 0 iterations = 0 total_iter = 10 while iterations < total_iter: try: crowds_EM = Crowds_EM( X, y, min_class_label, max_class_label, expert_wrong_percentage, verbose=verbose_output ) crowds_EM.run() except Exception, e: # Rerunning ... import traceback print traceback.print_exc() failed += 1 try: crowds_EM = Crowds_EM( X, y, min_class_label, max_class_label, expert_wrong_percentage, verbose=verbose_output ) crowds_EM.run() except Exception, e: failed += 1 pass else: crowds_EM.results[""] EM_result[ex] = crowds_EM.results break else: EM_result[ex] = crowds_EM.results break iterations += 1
#!/usr/bin/env python import sys sys.path.append('../src/') import numpy as np from crowds_EM import Crowds_EM from pprint import pprint np.seterr(all='raise') #alpha - sensitivity of experts #beta - specificity of experts dataset_filename = '../dataset/dataset_breastcancer' delimiter_char = ',' skiprow_no = 0 #The first row corresponds to feature names, so it can be skipped expert_wrong_percentage = [0.10, 0.90, 0.90] # expert y manipulation wrong percentage min_class_label = 0 max_class_label = 1 data = np.loadtxt(dataset_filename, delimiter=delimiter_char, skiprows=(skiprow_no)) #load the dataset crowds_EM = Crowds_EM( data, min_class_label, max_class_label, expert_wrong_percentage, verbose= True) crowds_EM.run() pprint (crowds_EM.results) crowds_EM.visualize()
#!/usr/bin/env python import sys sys.path.append('../src/') import numpy as np from crowds_EM import Crowds_EM np.seterr(all='raise') #alpha - sensitivity of experts #beta - specificity of experts dataset_filename = '../dataset/dataset_abalone' delimiter_char = ',' skiprow_no = 0 #The first row corresponds to feature names, so it can be skipped expert_wrong_percentage = [0.10, 0.90, 0.10, 0.20, 0.10, 0.80, 0.20, 0.30,0.90, 0.90, 0.80] # expert y manipulation wrong percentage min_class_label = 5 max_class_label = 15 data = np.loadtxt(dataset_filename, delimiter=delimiter_char, skiprows=(skiprow_no)) #load the dataset crowds_EM = Crowds_EM( data, min_class_label, max_class_label, expert_wrong_percentage, verbose= True) crowds_EM.run()