






def   SCREAMING_SNAKE_CASE       (				snake_case_      :							str  ,						snake_case_      :							bool = False     ):

	if not isinstance(snake_case_  ,						snake_case_     ):
		snake_case__				:   List[str]     =						F'''Expected string as input, found {type(snake_case_     )}'''
		raise ValueError(snake_case_     )
	if not isinstance(snake_case_  ,						snake_case_     ):
		snake_case__				:   Tuple     =						F'''Expected boolean as use_pascal parameter, found {type(snake_case_     )}'''
		raise ValueError(snake_case_     )

	snake_case__				:   Tuple     =						input_str.split("_"     )

	snake_case__				:   str     =						0 if use_pascal else 1

	snake_case__				:   Optional[int]     =						words[start_index:]

	snake_case__				:   Optional[Any]     =						[word[0].upper() + word[1:] for word in words_to_capitalize]

	snake_case__				:   List[str]     =						"" if use_pascal else words[0]

	return "".join([initial_word, *capitalized_words]     )


if __name__ == "__main__":
	from doctest import testmod

	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   SCREAMING_SNAKE_CASE       (				snake_case_      :							dict     ):
	return (data["data"], data["target"])







def   SCREAMING_SNAKE_CASE       (				snake_case_      :							np.ndarray  ,						snake_case_      :							np.ndarray     ):
	snake_case__				:   Optional[int]     =						XGBClassifier()
	classifier.fit(snake_case_  ,						snake_case_     )
	return classifier







def   SCREAMING_SNAKE_CASE       (				):
	snake_case__				:   Any     =						load_iris()
	snake_case__,		snake_case__				:   str     =						data_handling(snake_case_     )
	snake_case__,		snake_case__,		snake_case__,		snake_case__				:   int     =						train_test_split(
	    snake_case_  ,						snake_case_  ,						test_size=0.25     )

	snake_case__				:   Dict     =						iris["target_names"]

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

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


if __name__ == "__main__":
	import doctest

	doctest.testmod(verbose=True)
	main()



