
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_ (				lowerCamelCase__    ):
				return (data["data"], data["target"])





def 			lowerCamelCase_ (				lowerCamelCase__	, lowerCamelCase__    ):
				lowerCamelCase_						=			XGBClassifier()
				classifier.fit(lowerCamelCase__	, lowerCamelCase__    )
				return classifier





def 			lowerCamelCase_ (				):
				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"""

from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowercase__    :  str							    =	{
    '''configuration_x_clip''': [
        '''XCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''XCLIPConfig''',
        '''XCLIPTextConfig''',
        '''XCLIPVisionConfig''',
    ],
    '''processing_x_clip''': ['''XCLIPProcessor'''],
}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     lowercase__    :  Tuple							    =	[
         '''XCLIP_PRETRAINED_MODEL_ARCHIVE_LIST''',
         '''XCLIPModel''',
         '''XCLIPPreTrainedModel''',
         '''XCLIPTextModel''',
         '''XCLIPVisionModel''',
     ]

if TYPE_CHECKING:
     from .configuration_x_clip import (
         XCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
         XCLIPConfig,
         XCLIPTextConfig,
         XCLIPVisionConfig,
     )
     from .processing_x_clip import XCLIPProcessor

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_x_clip import (
              XCLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
              XCLIPModel,
              XCLIPPreTrainedModel,
              XCLIPTextModel,
              XCLIPVisionModel,
          )

else:
     import sys

     lowercase__    :  Tuple							    =	_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)





