예제 #1
0
def dev__filter_by_cost_function():
    print(80*'-')
    print('{:^80}'.format('filter_by_cost_functio'))
    
    testing_set = get_testing_set()
    config_fn = testing_set['config_fn']
    results_data_fn = testing_set['results_fn']

    assert os.path.isfile(config_fn)
    assert os.path.isfile(results_data_fn)

    o = PyposmatDataAnalyzer(config_fn=config_fn,results_data_fn=results_data_fn)
    weights = o.get_weights_by_z_error_normalization()
    pct_to_keep = 0.95
    is_survive_idx,filter_info = o.filter_by_cost_function(
            loss_function_type='abs_error',
            cost_function_type='weighted_sum',
            weights=weights,
            pct_to_keep=pct_to_keep
    )
    print('type(is_survive_idx):{}'.format(type(is_survive_idx)))
    print('type(cost_function_info:{}'.format(type(filter_info)))

    assert isinstance(is_survive_idx,set)
    assert isinstance(filter_info,OrderedDict)

    print('<---- START: str__filter_by_cost_function_filter_info')
    print(o.str__filter_by_cost_function_filter_info(filter_info=filter_info))
    print('<---- END: str__filter_by_cost_function_filter_info')
예제 #2
0
def dev__get_weights_by_z_error_normalization():
    testing_set = get_testing_set()
    config_fn = testing_set['config_fn']
    results_data_fn = testing_set['results_fn']

    assert os.path.isfile(config_fn)
    assert os.path.isfile(results_data_fn)

    o = PyposmatDataAnalyzer(config_fn=config_fn,results_data_fn=results_data_fn)
    weights = o.get_weights_by_z_error_normalization()

    assert isinstance(weights,OrderedDict)
    for k,v in weights.items():
        assert k in o.qoi_names
        assert isinstance(v,float)

    print(o.str__cost_function_weights(weights=weights))