
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tf_available, is_torch_available


lowerCamelCase__        =						{"""configuration_cvt""": ["""CVT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """CvtConfig"""]}


try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCamelCase__        =						[
					    """CVT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """CvtForImageClassification""",
					    """CvtModel""",
					    """CvtPreTrainedModel""",
					]

try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCamelCase__        =						[
					    """TF_CVT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """TFCvtForImageClassification""",
					    """TFCvtModel""",
					    """TFCvtPreTrainedModel""",
					]

if TYPE_CHECKING:
					from .configuration_cvt import CVT_PRETRAINED_CONFIG_ARCHIVE_MAP, CvtConfig

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_cvt import (
										    CVT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    CvtForImageClassification,
										    CvtModel,
										    CvtPreTrainedModel,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_cvt import (
										    TF_CVT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFCvtForImageClassification,
										    TFCvtModel,
										    TFCvtPreTrainedModel,
										)


else:
					import sys

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

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

# Load iris file
lowerCamelCase__        =						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
lowerCamelCase__ ,   lowerCamelCase__ ,   lowerCamelCase__ ,   lowerCamelCase__        =						train_test_split(
    iris["""data"""], iris["""target"""], random_state=4
)

# KNN

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

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

lowerCamelCase__        =						knn.predict(X_new)

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