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






def    _snake_case					(		snake_case__ :  np.ndarray						,   snake_case__ :  np.ndarray  ):
	A     = XGBClassifier()
	classifier.fit(snake_case__						,   snake_case__  )
	return classifier






def    _snake_case					(		):
	A     = load_iris()
	A ,   A     = data_handling(snake_case__  )
	A ,   A ,   A ,   A     = train_test_split(
	    snake_case__						,   snake_case__						,   test_size=0.25  )

	A     = iris['target_names']

	# Create an XGBoost Classifier from the training data
	A     = 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()







"""simple docstring"""





from random import randint
from tempfile import TemporaryFile

import numpy as np



def   a    (     __UpperCAmelCase      :    Optional[Any]      ,   __UpperCAmelCase      :    Optional[int]      ,   __UpperCAmelCase      :    Optional[int]  )    ->							int:
						__magic_name__:	Optional[int]							=       0
						if start < end:
												__magic_name__:	Union[str, Any]							=       randint(__UpperCAmelCase      ,   __UpperCAmelCase  )
												__magic_name__:	int							=       a[end]
												__magic_name__:	Optional[int]							=       a[pivot]
												__magic_name__:	Tuple							=       temp

												__magic_name__,			__magic_name__:	int							=       _in_place_partition(__UpperCAmelCase      ,   __UpperCAmelCase      ,   __UpperCAmelCase  )
												count += _in_place_quick_sort(__UpperCAmelCase      ,   __UpperCAmelCase      ,   p - 1  )
												count += _in_place_quick_sort(__UpperCAmelCase      ,   p + 1      ,   __UpperCAmelCase  )
						return count



def   a    (     __UpperCAmelCase      :    Optional[Any]      ,   __UpperCAmelCase      :    str      ,   __UpperCAmelCase      :    List[Any]  )    ->							Union[str, Any]:
						__magic_name__:	Union[str, Any]							=       0
						__magic_name__:	str							=       randint(__UpperCAmelCase      ,   __UpperCAmelCase  )
						__magic_name__:	Optional[int]							=       a[end]
						__magic_name__:	Optional[int]							=       a[pivot]
						__magic_name__:	Optional[int]							=       temp
						__magic_name__:	Dict							=       start - 1
						for index in range(__UpperCAmelCase      ,   __UpperCAmelCase  ):
												count += 1
												if a[index] < a[end]:  # check if current val is less than pivot value
																		__magic_name__:	List[Any]							=       new_pivot_index + 1
																		__magic_name__:	Any							=       a[new_pivot_index]
																		__magic_name__:	int							=       a[index]
																		__magic_name__:	Union[str, Any]							=       temp

						__magic_name__:	List[Any]							=       a[new_pivot_index + 1]
						__magic_name__:	Union[str, Any]							=       a[end]
						__magic_name__:	Dict							=       temp
						return new_pivot_index + 1, count


__lowerCamelCase							=  TemporaryFile()
__lowerCamelCase							=  1_00  # 1000 elements are to be sorted


__lowerCamelCase		,					__lowerCamelCase							=  0, 1  # mean and standard deviation
__lowerCamelCase							=  np.random.normal(mu, sigma, p)
np.save(outfile, X)
print('The array is')
print(X)


outfile.seek(0)  # using the same array
__lowerCamelCase							=  np.load(outfile)
__lowerCamelCase							=  len(M) - 1
__lowerCamelCase							=  _in_place_quick_sort(M, 0, r)

print(
    'No of Comparisons for 100 elements selected from a standard normal distribution'
    'is :'
)

print(z)



