Exemplo n.º 1
0
def ilp_rsd(input_dict):
    rsd = RSD()
    settings = input_dict.get('settings',None)
    pos = input_dict.get('pos', None)
    neg = input_dict.get('neg', None)
    examples = input_dict.get('examples', None)
    b = input_dict['b']
    subgroups = input_dict['subgroups'] == 'true'
    # Parse settings
    if settings:
        rsd.settingsAsFacts(settings)
    # Parse settings provided as parameters (these have higher priority)
    for setting, def_val in RSD.ESSENTIAL_PARAMS.items():
        rsd.set(setting, input_dict.get(setting, def_val))
    # Check for illegal predicates
    for pl_script in [b, pos, neg, examples]:
        check_input(pl_script)
    # Run rsd
    features, arff, rules = rsd.induce(b, examples=examples, pos=pos, neg=neg, cn2sd=subgroups)
    return {'features' : features, 'arff' : arff, 'rules' : rules}
Exemplo n.º 2
0
def ilp_rsd(input_dict):
    rsd = RSD()
    settings = input_dict.get('settings',None)
    pos = input_dict.get('pos', None)
    neg = input_dict.get('neg', None)
    examples = input_dict.get('examples', None)
    b = input_dict['b']
    subgroups = input_dict['subgroups'] == 'true'
    # Parse settings
    if settings:
        rsd.settingsAsFacts(settings)
    # Parse settings provided as parameters (these have higher priority)
    for setting, def_val in RSD.ESSENTIAL_PARAMS.items():
        rsd.set(setting, input_dict.get(setting, def_val))
    # Check for illegal predicates
    for pl_script in [b, pos, neg, examples]:
        check_input(pl_script)
    # Run rsd
    features, arff, rules = rsd.induce(b, examples=examples, pos=pos, neg=neg, cn2sd=subgroups)
    return {'features' : features, 'arff' : arff, 'rules' : rules}
Exemplo n.º 3
0
def rsd_runner(
    examples, background_knowledge, pos_examples=None, neg_examples=None, settings=None, subgroups=False, 
    clauselength=RSD.ESSENTIAL_PARAMS['clauselength'], 
    depth=RSD.ESSENTIAL_PARAMS['depth'],
    negation=RSD.ESSENTIAL_PARAMS['negation'], 
    min_coverage=RSD.ESSENTIAL_PARAMS['min_coverage'],
    filtering=RSD.ESSENTIAL_PARAMS['filtering']
):
    rsd = RSD()
    if settings:
        rsd.settingsAsFacts(settings)
    rsd.set('clauselength', clauselength)
    rsd.set('depth', depth)
    rsd.set('negation', negation)
    rsd.set('min_coverage', min_coverage)
    rsd.set('filtering', filtering)
    features, arff, rules = rsd.induce(background_knowledge, examples=examples, pos=pos_examples, neg=neg_examples, cn2sd=subgroups)
    return {'arff' : arff, 'rules' : rules, 'features' : features}