





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__lowerCAmelCase 	=      {"configuration_dinat": ["DINAT_PRETRAINED_CONFIG_ARCHIVE_MAP", "DinatConfig"]}


try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__lowerCAmelCase 	=      [
				    "DINAT_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "DinatForImageClassification",
				    "DinatModel",
				    "DinatPreTrainedModel",
				    "DinatBackbone",
				]

if TYPE_CHECKING:
				from .configuration_dinat import DINAT_PRETRAINED_CONFIG_ARCHIVE_MAP, DinatConfig

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_dinat import (
								    DINAT_PRETRAINED_MODEL_ARCHIVE_LIST,
								    DinatBackbone,
								    DinatForImageClassification,
								    DinatModel,
								    DinatPreTrainedModel,
								)

else:
				import sys

				__lowerCAmelCase 	=      _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






"""simple docstring"""
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

# Load iris file
lowercase__   			=      load_iris()
iris.keys()


print(f"Target names: \n {iris.target_names} ")
print(f"\n Features: \n {iris.feature_names}")

# Train set e Test set
lowercase__			,   lowercase__			,   lowercase__			,   lowercase__   			=      train_test_split(
    iris['data'], iris['target'], random_state=4
)

# KNN

lowercase__   			=      KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)

# new array to test
lowercase__   			=      [[1, 2, 1, 4], [2, 3, 4, 5]]

lowercase__   			=      knn.predict(X_new)

print(
    f"\nNew array: \n {X_new}\n\nTarget Names Prediction: \n"
    f" {iris['target_names'][prediction]}"
)


