Beispiel #1
0
def noiserank(input_dict):
    """Widget NoiseRank

    :param input_dict:
    :return:
    """
    allnoise = {}

    data = u.convert_dataset_from_scikit_to_orange(input_dict['data'])

    for item in input_dict['noise']:
        det_by = item['name']
        for i in item['inds']:
            if not allnoise.has_key(i):
                allnoise[i] = {}
                allnoise[i]['id'] = i
                allnoise[i]['class'] = data[int(i)].getclass().value
                allnoise[i]['by'] = []
            allnoise[i]['by'].append(det_by)
            print allnoise[i]['by']

    from operator import itemgetter
    outallnoise = sorted(allnoise.values(), key=itemgetter('id'))
    outallnoise.sort(compareNoisyExamples)

    output_dict = {}
    output_dict['allnoise'] = outallnoise
    output_dict['selection'] = {}
    return output_dict
Beispiel #2
0
def noiserank(input_dict):
    """Widget NoiseRank

    :param input_dict:
    :return:
    """
    allnoise = {}

    data = u.convert_dataset_from_scikit_to_orange(input_dict['data'])

    for item in input_dict['noise']:
        det_by = item['name']
        for i in item['inds']:
            if not allnoise.has_key(i):
                allnoise[i] = {}
                allnoise[i]['id'] = i
                allnoise[i]['class'] = data[int(i)].getclass().value
                allnoise[i]['by'] = []
            allnoise[i]['by'].append(det_by)
            print allnoise[i]['by']

    from operator import itemgetter
    outallnoise = sorted(allnoise.values(), key=itemgetter('id'))
    outallnoise.sort(compareNoisyExamples)

    output_dict = {}
    output_dict['allnoise'] = outallnoise
    output_dict['selection'] = {}
    return output_dict
Beispiel #3
0
def classification_filter(input_dict, widget):
    import cf_noise_detection.noiseAlgorithms4lib as nalg
    output_dict = {}
    # output_dict['noise_dict']= noiseAlgorithms4lib.cf_decide(input_dict, widget)

    orange_dataset = u.convert_dataset_from_scikit_to_orange(input_dict['data'])

    output_dict['noise_dict']= nalg.cf_decide(input_dict['learner'], orange_dataset, int(input_dict['k_folds']), widget=None)
    return output_dict
Beispiel #4
0
def saturation_filter(input_dict, widget):
    import cf_noise_detection.noiseAlgorithms4lib as nalg

    orange_dataset = u.convert_dataset_from_scikit_to_orange(input_dict['data'])

    if not(input_dict['satur_type'] in ['normal', 'prune']):
        raise Exception("Only 'normal' or 'prune' allowed for 'satur_type'.")

    output_dict = {}
    output_dict['noise_dict']= nalg.saturation_type(orange_dataset, input_dict['satur_type'], widget)
    return output_dict
Beispiel #5
0
def classification_filter(input_dict, widget):
    import cf_noise_detection.noiseAlgorithms4lib as nalg
    output_dict = {}
    # output_dict['noise_dict']= noiseAlgorithms4lib.cf_decide(input_dict, widget)

    orange_dataset = u.convert_dataset_from_scikit_to_orange(
        input_dict['data'])

    output_dict['noise_dict'] = nalg.cf_decide(input_dict['learner'],
                                               orange_dataset,
                                               int(input_dict['k_folds']),
                                               widget=None)
    return output_dict
Beispiel #6
0
def saturation_filter(input_dict, widget):
    import cf_noise_detection.noiseAlgorithms4lib as nalg

    orange_dataset = u.convert_dataset_from_scikit_to_orange(
        input_dict['data'])

    if not (input_dict['satur_type'] in ['normal', 'prune']):
        raise Exception("Only 'normal' or 'prune' allowed for 'satur_type'.")

    output_dict = {}
    output_dict['noise_dict'] = nalg.saturation_type(orange_dataset,
                                                     input_dict['satur_type'],
                                                     widget)
    return output_dict
Beispiel #7
0
def add_class_noise(input_dict):
    """Widget Add Class Noise
    """

    data_scikit = input_dict['data']
    if not(d.is_target_nominal(data_scikit)):
        raise Exception("Widget Add Class Noise accepts only datasets with nominal class!")

    data = u.convert_dataset_from_scikit_to_orange(data_scikit)

    import cf_noise_detection.noiseAlgorithms4lib as nalg
    noise_indices, orange_data = nalg.add_class_noise(data, input_dict['noise_level'], input_dict['rnd_seed'])

    data = u.convert_dataset_from_orange_to_scikit(orange_data)

    output_dict = {'noise_inds':noise_indices, 'noisy_data': data}

    return output_dict
Beispiel #8
0
def noiserank_select(postdata,input_dict, output_dict):
    try:
        output_dict['indices']= outselection = [int(i) for i in postdata['selected']]

        # data = input_dict['data']
        data = u.convert_dataset_from_scikit_to_orange(input_dict['data'])

        selection = [0]*len(data)
        for i in outselection:
            selection[i] = 1
        outdata = data.select(selection, 1)

        data_scikit = u.convert_dataset_from_orange_to_scikit(outdata)

        output_dict['selection'] = data_scikit
    except KeyError:
        output_dict['selection'] = None

    return output_dict
Beispiel #9
0
def add_class_noise(input_dict):
    """Widget Add Class Noise
    """

    data_scikit = input_dict['data']
    if not (d.is_target_nominal(data_scikit)):
        raise Exception(
            "Widget Add Class Noise accepts only datasets with nominal class!")

    data = u.convert_dataset_from_scikit_to_orange(data_scikit)

    import cf_noise_detection.noiseAlgorithms4lib as nalg
    noise_indices, orange_data = nalg.add_class_noise(
        data, input_dict['noise_level'], input_dict['rnd_seed'])

    data = u.convert_dataset_from_orange_to_scikit(orange_data)

    output_dict = {'noise_inds': noise_indices, 'noisy_data': data}

    return output_dict
Beispiel #10
0
def noiserank_select(postdata, input_dict, output_dict):
    try:
        output_dict['indices'] = outselection = [
            int(i) for i in postdata['selected']
        ]

        # data = input_dict['data']
        data = u.convert_dataset_from_scikit_to_orange(input_dict['data'])

        selection = [0] * len(data)
        for i in outselection:
            selection[i] = 1
        outdata = data.select(selection, 1)

        data_scikit = u.convert_dataset_from_orange_to_scikit(outdata)

        output_dict['selection'] = data_scikit
    except KeyError:
        output_dict['selection'] = None

    return output_dict