Implement AdaBoost binary classification using decision stumps, weighted errors, adaptive sample weights, and weighted voting.