






from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


__lowerCamelCase      :    Union[str, Any]   		=   {
    """configuration_falcon""": ["""FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP""", """FalconConfig"""],
}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__lowerCamelCase      :    str   		=   [
	    """FALCON_PRETRAINED_MODEL_ARCHIVE_LIST""",
	    """FalconForCausalLM""",
	    """FalconModel""",
	    """FalconPreTrainedModel""",
	    """FalconForSequenceClassification""",
	    """FalconForTokenClassification""",
	    """FalconForQuestionAnswering""",
	]


if TYPE_CHECKING:
	from .configuration_falcon import FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP, FalconConfig

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_falcon import (
		    FALCON_PRETRAINED_MODEL_ARCHIVE_LIST,
		    FalconForCausalLM,
		    FalconForQuestionAnswering,
		    FalconForSequenceClassification,
		    FalconForTokenClassification,
		    FalconModel,
		    FalconPreTrainedModel,
		)


else:
	import sys

	__lowerCamelCase      :    str   		=   _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)











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()



