def set_model_params(params):
    """ Setup model parameters for various selection methods """
    model = dict()
    if 'inputs' in params:
        model['effects'] = params.pop('inputs')
    if 'target' in params:
        model['depvars'] = params.pop('target')
    if 'nominals' in params:
        params['class'] = params.pop('nominals')
    params['model'] = model
    selection = params.get('selection', {})
    selection['details'] = 'summary'
    method = selection.get('method', None)
    sl = params.pop('siglevel', 0.05)
    criterion = params.pop('criterion', None)
    if method == 'fast_backward':
        selection['select'] = 'sl'
        selection['slstay'] = sl
    elif method == 'backward':
        selection['select'] = criterion or 'aic'
        selection['stop'] = criterion or 'aic'
        selection['choose'] = criterion or 'aic'
    elif method == 'forward':
        selection['details'] = 'all'
        selection['select'] = criterion or 'sbc'
        selection['stop'] = criterion or 'sbc'
        selection['choose'] = criterion or 'sbc'
        if selection['select'] == 'sl':
            selection['slentry'] = sl
            selection['choose'] = 'sbc'
    elif method == 'stepwise':
        selection['select'] = criterion or 'sl'
        selection['stop'] = criterion or 'sl'
        selection['choose'] = criterion or 'sbc'
        if selection['select'] == 'sl':
            selection['slentry'] = sl
            selection['slstay'] = sl
            selection['choose'] = 'sbc'
    elif method == 'lasso':
        selection['stop'] = criterion or 'aicc'
        selection['choose'] = criterion or 'aicc'
    elif method == 'adaptive_lasso':
        selection['stop'] = criterion or 'aic'
        selection['choose'] = criterion or 'aic'
        selection['adaptive'] = True
    return params
