


'''simple docstring'''

import numpy as np
from matplotlib import pyplot as plt
from sklearn.datasets import load_iris
from sklearn.metrics import ConfusionMatrixDisplay
from sklearn.model_selection import train_test_split
from xgboost import XGBClassifier

def 							__magic_name__(						lowerCamelCase):
						return (data["data"], data["target"])

def 							__magic_name__(						lowerCamelCase,				lowerCamelCase):
						__lowerCAmelCase							       =				XGBClassifier()
						classifier.fit(lowerCamelCase,				lowerCamelCase)
						return classifier

def 							__magic_name__(						):
						__lowerCAmelCase							       =				load_iris()
						__lowerCAmelCase       ,					__lowerCAmelCase							       =				data_handling(lowerCamelCase)
						__lowerCAmelCase       ,					__lowerCAmelCase       ,					__lowerCAmelCase       ,					__lowerCAmelCase							       =				train_test_split(
						    lowerCamelCase,				lowerCamelCase,				test_size=0.25)

						__lowerCAmelCase							       =				iris['''target_names''']

						# Create an XGBoost Classifier from the training data
						__lowerCAmelCase							       =				xgboost(lowerCamelCase,				lowerCamelCase)

						# Display the confusion matrix of the classifier with both training and test sets
						ConfusionMatrixDisplay.from_estimator(
						    lowerCamelCase,				lowerCamelCase,				lowerCamelCase,				display_labels=lowerCamelCase,				cmap='''Blues''',				normalize='''true''',				)
						plt.title('''Normalized Confusion Matrix - IRIS Dataset''')
						plt.show()


if __name__ == "__main__":
	import doctest

	doctest.testmod(verbose=True)
	main()





'''simple docstring'''

def 							__magic_name__(						):
						return [
						    a * b * (1_0_0_0 - a - b)
						    for a in range(1,				9_9_9)
						    for b in range(lowerCamelCase,				9_9_9)
						    if (a * a + b * b == (1_0_0_0 - a - b) ** 2)
						][0]


if __name__ == "__main__":
	print(f"""{solution() = }""")

