# Number of rounds of bagging L = 100 # Weights for selecting samples in each bootstrap weights = np.ones((N,1),dtype=float)/N # Storage of trained log.reg. classifiers fitted in each bootstrap logits = [0]*L votes = np.zeros((N,)) # For each round of bagging for l in range(L): # Extract training set by random sampling with replacement from X and y X_train, y_train = bootstrap(X, y, N, weights) # Fit logistic regression model to training data and save result logit_classifier = LogisticRegression() logit_classifier.fit(X_train, y_train) logits[l] = logit_classifier y_est = logit_classifier.predict(X).T votes = votes + y_est ErrorRate = (y!=y_est).sum(dtype=float)/N print('Error rate: {:2.2f}%'.format(ErrorRate*100)) # Estimated value of class labels (using 0.5 as threshold) by majority voting y_est_ensemble = votes>(L/2) # Compute error rate
# Number of rounds of bagging L = 100 # Weights for selecting samples in each bootstrap weights = np.ones((N,1),dtype=float)/N # Storage of trained log.reg. classifiers fitted in each bootstrap logits = [0]*L votes = np.zeros((N,1)) # For each round of bagging for l in range(L): # Extract training set by random sampling with replacement from X and y X_train, y_train = bootstrap(X, y, N, weights) # Fit logistic regression model to training data and save result logit_classifier = LogisticRegression() logit_classifier.fit(X_train, y_train.A.ravel()) logits[l] = logit_classifier y_est = np.mat(logit_classifier.predict(X)).T votes = votes + y_est ErrorRate = (y!=y_est).sum(dtype=float)/N print('Error rate: {0}%'.format(ErrorRate*100)) # Estimated value of class labels (using 0.5 as threshold) by majority voting y_est_ensemble = votes>(L/2) # Compute error rate