# https://www.datacamp.com/tutorial/adaboost-classifier-python?dc_referrer=https%3A%2F%2Fwww.google.com%2F

from sklearn.ensemble import AdaBoostClassifier
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import metrics

# Load data
iris = datasets.load_iris()
X = iris.data
y = iris.target

# Split dataset into training set and test set
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

# Create adaboost classifer 
#Weak classifiers:50, Learning rate (how strongly each new weak model corrects previous errors):1
abc = AdaBoostClassifier(n_estimators=50, learning_rate=1) 

# Train Adaboost Classifer
model = abc.fit(X_train, y_train)

#Predict the response for test dataset
y_pred = model.predict(X_test)

# Model Accuracy, how often is the classifier correct?
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))