示例#1
0
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
示例#2
0
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
示例#3
0
#!/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()
示例#4
0
#!/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()