Esempio n. 1
0
def logisticRegDemo(conn):
    '''
       Demonstrate Logistic Regression
    '''

    #1) Logistic Regression with Numeric Variables Alone
    log_reg = LogisticRegression(conn)
    #Train Model
    mdl_dict, mdl_params = log_reg.train('public.wine_bool_training_set',
                                         'indep', 'quality_label')
    #Show Model Parameters
    mdl_params.head()
    #2) Logistic Regression Prediction
    predictions = log_reg.predict('wine_bool_test_set', '', None)
    predictions.head()

    #Display ROC Curve
    actual = predictions.get('quality_label')
    predicted = predictions.get('prediction')
    ROCPlot('ROC curve Logistic Reg. on Continuous Features ',
            ['Logistic Regression'], actual, predicted)

    # 2) Logistic Regression with mixture of numeric and categorical columns
    mdl_dict, mdl_params = log_reg.train('public.auto_mpg_bool_train', [
        '1', 'height', 'width', 'length', 'highway_mpg', 'engine_size', 'make',
        'fuel_type', 'fuel_system'
    ], 'is_expensive')
    predictions = log_reg.predict('auto_mpg_bool_test', 'is_expensive', None)
    cols = conn.fetchColumns(cursor, ['is_expensive', 'prediction'])
    actual = predictions.get('is_expensive')
    predicted = predictions.get('prediction')
    ROCPlot('ROC curve Logistic Reg. including categorical data',
            ['Logistic Regression'], actual, predicted)