def select_best_variables(md, reg, df, names, n_orig_features, Add_Poly,
    verbose=0):
    """
    This program selects the top 10% of interaction variables created using linear modeling.
    """
    df90 = df[abs(df['Coefficient Values']) >= df['Coefficient Values'].
        quantile(0.9)]
    if verbose >= 1:
        df90.plot(kind='bar', x='Interaction Variable Names', y=
            'Coefficient Values', title=
            'Top 10% Variable Interactions and their Coefficients ')
    if verbose >= 1:
        df.plot(kind='bar', x='Interaction Variable Names', y=
            'Coefficient Values', title=
            'All Variable Interactions and their Coefficients', figsize=(20,
            10))
    interactions = df90['Interaction Variable Names'].values.tolist()
    print('%d Interaction and Polynomial variable(s) selected...\n' % len(
        interactions))
    finalvars = names + interactions
    return finalvars
