





def 					lowerCamelCase_						(    _UpperCamelCase			)		->						str:






				"""simple docstring"""


				if isinstance(_UpperCamelCase			,    _UpperCamelCase			):
								raise TypeError('''\'float\' object cannot be interpreted as an integer'''			)
				if isinstance(_UpperCamelCase			,    _UpperCamelCase			):
								raise TypeError('''\'str\' object cannot be interpreted as an integer'''			)

				if num == 0:
								return "0b0"

				snake_case_						:   Tuple           =  False

				if num < 0:
								snake_case_						:   Optional[int]           =  True
								snake_case_						:   str           =  -num

				snake_case_						:   list[int]           =  []
				while num > 0:
								binary.insert(0			,    num % 2			)
								num >>= 1

				if negative:
								return "-0b" + "".join(str(_UpperCamelCase			) for e in binary			)

				return "0b" + "".join(str(_UpperCamelCase			) for e in binary			)


if __name__ == "__main__":
	import doctest

	doctest.testmod()







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 					lowerCamelCase_						(    _UpperCamelCase			)		->						tuple:






				"""simple docstring"""


				return (data["data"], data["target"])






def 					lowerCamelCase_						(    _UpperCamelCase			,    _UpperCamelCase			)		->						XGBClassifier:






				"""simple docstring"""


				snake_case_						:   Optional[Any]           =  XGBClassifier()
				classifier.fit(_UpperCamelCase			,    _UpperCamelCase			)
				return classifier






def 					lowerCamelCase_						(    )		->						None:






				"""simple docstring"""


				snake_case_						:   Optional[Any]           =  load_iris()
				snake_case_      ,							snake_case_						:   str           =  data_handling(_UpperCamelCase			)
				snake_case_      ,							snake_case_      ,							snake_case_      ,							snake_case_						:   Dict           =  train_test_split(
				    _UpperCamelCase			,    _UpperCamelCase			,    test_size=0.25			)

				snake_case_						:   List[str]           =  iris['''target_names''']

				# Create an XGBoost Classifier from the training data
				snake_case_						:   int           =  xgboost(_UpperCamelCase			,    _UpperCamelCase			)

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


if __name__ == "__main__":
	import doctest

	doctest.testmod(verbose=True)
	main()
