Beispiel #1
0
def case_function(samples, obj):
    sam = Samples()  # object required to plot
    num_bin_x, num_bin_y = (bin_x.get(), bin_y.get())
    mi_text.set(mi_text.get() + '\nCalculating...')
    not_selected = True
    if plot_sample.get():
        sam.plot_sample(samples, num_bin_x, num_bin_y)
        not_selected = False
    if plot_compare.get():
        obj.plot_compare2(num_bin_x, num_bin_y, noise.get(), step.get(), significance.get())
        not_selected = False
    if plot_proposal.get():
        sam.plot_propose(samples, num_bin_x, step.get())
        not_selected = False
    if plot_partition.get():
        sam.plot_partition(samples, num_bin_x, num_bin_y)
        not_selected = False
    if plot_converge_in_samples.get():
        converge_in_samples(num_bin_x, num_bin_y, obj)
        not_selected = False
    if samples_check.get():
        samples_grid(num_bin_x, num_bin_y)
        not_selected = False
    if bin_selection.get():
        bin_selection_validation(sigma=significance.get(), obj=obj)
        not_selected = False
    if cal_measures.get():
        calculate_measures(samples, num_bin_x, num_bin_y)
        not_selected = False
    if not_selected:
        mi_text.set('Select a plot or calculation')
Beispiel #2
0
def case_function(samples, obj):
    sam = Samples()
    print(samples)
    numBinx, numBiny = Binx.get(), Biny.get()
    #numBinx = 30
    #numBiny = 30
    print(numBinx, numBiny)
    print(numBinx)
    x, y = samples[:, 0], samples[:, 1]
    MI = mutual_info(x, y, numBinx, numBiny)
    ex = entropy(x, numBinx)
    ey = entropy(y, numBiny)
    R = norm_MI(x, y, numBinx, numBiny)
    rxy = pearson_corr(x, y)
    exy = entropyx_y(x, y, numBinx, numBiny)
    eyx = entropyx_y(y, x, numBinx, numBiny)
    MIE = MI_Entropy(x, y, numBinx, numBiny)
    Ixy = propuesta_Ixy(x, y, numBinx, numBiny)
    Iyx = propuesta_Iyx(x, y, numBinx, numBiny)
    Ixy2 = propuesta2_Ixy(x, y, numBinx, numBiny)
    Iyx2 = propuesta2_Iyx(x, y, numBinx, numBiny)
    PMD = propuesta_mutual_dependency(x, y, numBinx, numBiny)
    PMD2 = propuesta2_mutual_dependency(x, y, numBinx, numBiny)
    # d_cor = d_corr(x,y)
    # Mic = MIC(x,y)

    mitexto.set(
        'Entropy of x: ' + str(ex) + '\n' + 'Entropy of y: ' + str(ey) + '\n' +
        'Mutual information: ' + str(MI) + '\n' +
        'Mutual info with entropy: ' + str(MIE) + '\n' + '\n' +
        '(Max=1)Normalized Mutual info: ' + str(R) + '\n' +
        '(Max=1)Pearson Correlation: ' + str(rxy) + '\n' +
        # '(Max=1)Distance Correlation: ' + str(d_cor) + '\n' +
        # '(Max=1)MIC: ' + str(Mic) + '\n' +
        '(Max=1)Mutual Dependency: ' + str(PMD) + '\n' +
        '(Max=1)Mutual Dependency2: ' + str(PMD2) + '\n' + '\n' +
        'Entropy of X|Y = ' + str(exy) + '\n' + 'Entropy of Y|X = ' +
        str(eyx) + '\n' + '(Max=1)Information in Y of X: ' + str(Ixy) + '\n' +
        '(Max=1)Information in X of Y: ' + str(Iyx) + '\n' +
        '(Max=1)Information2 in Y of X: ' + str(Ixy2) + '\n' +
        '(Max=1)Information2 in X of Y: ' + str(Iyx2))

    if plot_sample.get():
        sam.plot_sample(samples, numBinx, numBiny, step.get())
    if plot_compare.get():
        obj.plot_compare2(numBinx, numBiny, noise.get(), step.get())
    if plot_propuse.get():
        sam.plot_propose(samples, numBinx)
    if plot_partition.get():
        sam.plot_partition(samples, numBinx, numBiny)
    if plot_converge_in_samples.get():
        Converge_in_samples(numBinx, numBiny, obj)
    if samples_check.get():
        samples_grid(numBinx, numBiny)
Beispiel #3
0
 def save_wav(self) -> None:
     # Save waveform
     duration, ok = QtGui.QInputDialog.getInt(self, "Seconds of Audio:",
                                              "Seconds:", 1, 0, MAX_VAL,
                                              STEP_VAL)
     if ok:
         dialog = QtGui.QFileDialog()
         path = dialog.getSaveFileName(self, 'Save File', os.getenv('HOME'),
                                       'WAV (*.wav)')
         if path[0] != '':
             samples = Samples()
             expression = copy.deepcopy(self.expression)
             samples.set_expression(expression)
             samples.gen_write_16(path[0], duration)
Beispiel #4
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.setup_layout()
     self.setup_waveform()
     self.setup_instructions()
     self.layout.nextRow()
     self.setup_spectrograph()
     self.layout.nextRow()
     self.setup_editor()
     self.setup_index()
     self.samples = Samples(self.waveform.data_available,
                            self.spectrograph.data_available)
     self.copy_func_to_samples()
     self.copy_func_to_editor_and_display()
     self.setup_pyaudio()
     self.stream.start_stream()
Beispiel #5
0
 def __init__(self, json_path, out_dir):
     # Attributes #
     self.out_dir = out_dir
     self.json_path = json_path
     # Parse #
     with open(json_path) as handle: self.info = json.load(handle)
     # Basic #
     self.account = self.info['uppmax_id']
     self.run_num = self.info['run_num']
     self.run_label = self.info['run_id']
     self.project_short_name = self.info['project']
     self.project_long_name = self.info['project_name']
     # Own attributes #
     self.num = self.info['pool_num']
     self.label = self.info['pool_id']
     self.short_name = self.info['pool']
     self.long_name = self.info['pool_name']
     self.id_name = "run%03d-pool%02d" % (self.run_num, self.num)
     # Special #
     self.samples = Samples(self)
     self.primers = TwoPrimers(self)
     # Second init #
     self.loaded = False
Beispiel #6
0
def command_parser():
    ''' 
        THIS PART CAN PARSER THE COMMAND PARAMETERS.
        Value 0 is off, 1 is open.
 
    '''
    try:
        source_path = ""
        save_path = ""
        # The default value of data_deal model.
        iamges_deal = 0
        size_x = 28
        size_y = 28
        channel = 3
        # samples model parameters
        samples = 0
        no_replace = 0
        replace = 0
        number = 10000

        # train and test the model
        train_test = 0
        dataset = 'mnist.pkl.gz'
        config_path = "../config-example"
        n_y = 10
        m1 = 0
        m2 = 0

        opts, args = getopt.getopt(sys.argv[1:], "ho:",      \
                                  ["help",                   \
                                   "images_deal",            \
                                   "images_path=",           \
                                   "size_x=",                \
                                   "size_y=" ,               \
                                   "channel=",               \

                                   "samples",                \
                                   "no_replace=",            \
                                   "replace=",               \
                                   "source_path=" ,          \
                                   "number=",                \
                                   "save_path=",             \

                                   "train_test",             \
                                   "dataset=",               \
                                   "config_path=",           \
                                   "n_y=" ,                  \
                                   "m1=",                    \
                                   "m2="
                                  ])
        #print opts,args
        for x, y in opts:
            if x in ("-h", "--help"):
                print "-----------------------------------------------------------"
                print "ensemb: command line brew"
                print "usage : python ensemb.py <command> <args>"
                print "---------------------------------------------------------------------"
                print "images_deal : deal the image to pickle file"
                print "----------    ensemb.py --images_deal     "
                print "----------              --source_path=/home/gd/ensemble-nn/data/image"
                print "----------              --size_x=28"
                print "----------              --size_y=28 "
                print "----------              --channel=3"
                print "---------------------------------------------------------------------"
                print "samples     : sample the samples from the datasets"
                print "----------    ensemb.py --samples     "
                print "----------              --no_replace=1"
                print "----------              --replace=0 "
                print "----------              --source_path=./data/mnist.pkl.gz"
                print "----------              --number=30000"
                print "----------              --save_path=./data/mnist-sample-replace.pkl"
                print "---------------------------------------------------------------------"
                print "train_test  : train and test the model"
                print "----------    ensemb.py --train_test     "
                print "----------              --dataset =/home/gd/ensemble-nn/data/mnist.pkl.gz"
                print "----------              --config_path=./config-example "
                print "----------              --n_y =10"
                print "----------              --m1  = 1"
                print "---------------------------------------------------------------------"

            # MODEL IMAGES_DEAL
            if x in ("--images_deal"):
                print "Deal the iamge .."
                iamges_deal = 1
            if x in ("--source_path"):
                images_path = y
            if x in ("--size_x"):
                size_x = int(y)
            if x in ("--size_y"):
                size_y = int(y)
            if x in ("--channel"):
                channel = int(y)

            # MODEL SAMPLES
            if x in ("--samples"):
                print "sampling .."
                samples = 1
            if x in ("--no_replace"):
                no_replace = int(y)
            if x in ("--replace"):
                replace = int(y)
            if x in ("--source_path"):
                source_path = y
            if x in ("--number"):
                number = int(y)
            if x in ("--save_path"):
                save_path = y

            # TRAIN AND TEST A MODEL
            if x in ("--train_test"):
                print "train and test .."
                train_test = 1
            if x in ("--dataset"):
                dataset = y
            if x in ("--config_path"):
                config_path = y
            if x in ("--n_y"):
                n_y = int(y)
            if x in ("--m1"):
                m1 = int(y)
            if x in ("--m2"):
                m2 = int(y)

        if iamges_deal == 1:
            source_path = "/home/gd/ensemble-nn/data/image"
            DealDate_deal(image_path=source_path,
                          size_x=size_x,
                          size_y=size_y,
                          channel=channel)
        if samples == 1:
            source_path = "/home/gd/ensemble-nn/data/mnist.pkl.gz"
            save_path = "/home/gd/ensemble-nn/data/mnist-sample-replace.pkl"
            if no_replace == 0 and replace == 0:
                print "no_replace or replace ?"
            if no_replace == 1 and replace == 1:
                print "no_replace or replace ?"
            if no_replace == 1:
                instance = Samples()
                instance.no_replace_sample(source_path, number, save_path)
            if replace == 1:
                instance = Samples.Samples()
                instance.replace_sample(source_path, number, save_path)
        if train_test == 1:
            if m1 == 0 and m2 == 0:
                print "adaboost-m1 or adaboost-m2 ?"
            if m1 == 1 and m2 == 1:
                print "adaboost-m1 or adaboost-m2 ?"
            if m1 == 1 and m2 == 0:
                instance = Controller()
                instance.m1_controller(dirctory=config_path,
                                       dataset=dataset,
                                       n_y=n_y)
            if m1 == 0 and m2 == 1:
                instance = Controller()
                instance.m2_controller(dirctory=config_path,
                                       dataset=dataset,
                                       n_y=n_y)

        sys.exit()
    except Exception as err:
        print err
Beispiel #7
0
def plot_select():
    ind = list1.curselection()
    if list1.curselection() != ():

        if ind[0] == 0:
            sam = Samples(tipo=0)
            samples = sam.get_sin(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 1:
            sam = Samples(tipo=1)
            samples = sam.get_square(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 2:
            sam = Samples(tipo=2)
            samples = sam.get_blur(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 3:
            sam = Samples(tipo=3)
            samples = sam.get_cuadratic(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 4:
            sam = Samples(tipo=4)
            samples = sam.get_diagonal_line(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 5:
            sam = Samples(tipo=5)
            samples = sam.get_horizontal_line(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 6:
            sam = Samples(tipo=6)
            samples = sam.get_vertical_line(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 7:
            sam = Samples(tipo=7)
            samples = sam.get_x(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 8:
            sam = Samples(tipo=8)
            samples = sam.get_circle(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 9:
            sam = Samples(tipo=9)
            samples = sam.get_curve_x(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 10:
            sam = Samples(tipo=10)
            samples = sam.get_diagonal_line2(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 11:
            sam = Samples(tipo=11)
            samples = sam.get_dependent(numberSam.get())
            case_function(samples, sam)
        elif ind[0] == 12:
            sam = Samples(tipo=12)
            samples = sam.get_independent(numberSam.get())
            case_function(samples, sam)
        elif ind[0] == 13:
            sam = Samples(tipo=13)
            samples = sam.get_corr(numberSam.get(), noise.get())
            case_function(samples, sam)
        elif ind[0] == 14:
            sam = Samples(tipo=14)
            samples = sam.get_file()
            case_function(samples, sam)
        else:
            mitexto.set('Error')
    else:
        mitexto.set('Select a type')
            DIR: 'data/facedata',
            HEIGHT: 68,
            WIDTH: 61,
            LABEL: 2,
            PIXELS: None
        },
        DIGIT: {
            DIR: 'data/digitdata',
            HEIGHT: 20,
            WIDTH: 29,
            LABEL: 10,
            PIXELS: None
        }
    }

    samples = Samples(map.get(inp).get(DIR))

    dataClassifier = DataClassifier(
        map.get(inp).get(HEIGHT),
        map.get(inp).get(WIDTH),
        map.get(inp).get(LABEL),
        map.get(inp).get(PIXELS))
    perceptronClassifier = PerceptronClassifier(dataClassifier.FEATURES,
                                                dataClassifier.LABELS)

    samples.readFiles()
    dataset = 0
    featureValueListForAllTrainingImages, actualLabelForTrainingList = dataClassifier.extractFeatures(
        samples.train_lines_itr, samples.train_labelsLines_itr)

    TOTALDATASET = len(featureValueListForAllTrainingImages)
            HEIGHT: 68,
            WIDTH: 61,
            LABEL: 2,
            PIXELS: None
        },
        DIGIT: {
            DIR: 'data/digitdata',
            HEIGHT: 20,
            WIDTH: 29,
            LABEL: 10,
            PIXELS: None
        }
    }

    dataType = map.get(inp)
    samples = Samples(dataType.get(DIR))

    dataClassifier = DataClassifier(dataType.get(HEIGHT), dataType.get(WIDTH),
                                    dataType.get(LABEL), dataType.get(PIXELS),
                                    gridSize)
    samples.readFiles()
    ''' Extracting Features from the Training Data '''
    featureValueListForAllTrainingImages, actualLabelForTrainingList = \
        dataClassifier.extractFeatures(samples.train_lines_itr, samples.train_labelsLines_itr)

    runErrorList = []
    runTimeList = []
    runDataSetIncrements = []

    for _ in range(0, 3):