Beispiel #1
0
lr = 1

# Construct model

clf = AdaBoostClassifier(random_state=RANDOM_STATE,
                         algorithm='SAMME.R',
                         learning_rate=lr,
                         n_estimators=NUM_ESTIMATORS)

# Perform training

clf.fit(train_data[predictors_str], train_data[target].values)

# Make predictions for later classification report

predictions_train = make_predictions(clf, predictors_str, train_data)

# Trace estimator weight and estimator error

is_show_model_details = False
if is_show_model_details:
    print('Estimator Weight: ', clf.estimator_weights_)
    print('\n')
    print('Estimator type: ', clf.estimators_[0])
    print('\n')
    print('Estimator ErrorL ', clf.estimator_errors_)

######## Classification Performance on Validation Data with Undersampling######

# Load in validation data
    for l in lr_arr:

        clf = AdaBoostClassifier(random_state=RANDOM_STATE,
                                 algorithm='SAMME.R',
                                 learning_rate=l,
                                 n_estimators=n)

        # Perform training

        print('Learing rate: ', l, ' Num of esimators: ', n)
        print('\n')
        clf.fit(train_data[predictors_str], train_data[target].values)

        # Make predictors based on training and testing data

        preds_train = make_predictions(clf, predictors_str, train_data)
        preds_valid = make_predictions(clf, predictors_str, validation_data)

        # Perform grid search accordinly

        if is_build_model_for_under:

            roc_auc_score_from_tra = roc_auc_score(train_data[target].values,
                                                   preds_train)
            roc_auc_score_from_valid = roc_auc_score(
                validation_data[target].values, preds_valid)
            roc_auc_score_list_tra.append(roc_auc_score_from_tra)
            roc_auc_score_list_val.append(roc_auc_score_from_valid)

        if not is_build_model_for_under: