






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_UpperCAmelCase				:	int    						=    {
    '''configuration_musicgen''': [
        '''MUSICGEN_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''MusicgenConfig''',
        '''MusicgenDecoderConfig''',
    ],
    '''processing_musicgen''': ['''MusicgenProcessor'''],
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _UpperCAmelCase				:	int    						=    [
       '''MUSICGEN_PRETRAINED_MODEL_ARCHIVE_LIST''',
       '''MusicgenForConditionalGeneration''',
       '''MusicgenForCausalLM''',
       '''MusicgenModel''',
       '''MusicgenPreTrainedModel''',
   ]

if TYPE_CHECKING:
   from .configuration_musicgen import (
       MUSICGEN_PRETRAINED_CONFIG_ARCHIVE_MAP,
       MusicgenConfig,
       MusicgenDecoderConfig,
   )
   from .processing_musicgen import MusicgenProcessor

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_musicgen import (
          MUSICGEN_PRETRAINED_MODEL_ARCHIVE_LIST,
          MusicgenForCausalLM,
          MusicgenForConditionalGeneration,
          MusicgenModel,
          MusicgenPreTrainedModel,
      )

else:
   import sys

   _UpperCAmelCase				:	int    						=    _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
_UpperCAmelCase				:	Optional[int]    						=    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
_UpperCAmelCase						,						_UpperCAmelCase						,						_UpperCAmelCase						,						_UpperCAmelCase				:	List[Any]    						=    train_test_split(
    iris['data'], iris['target'], random_state=4
)

# KNN

_UpperCAmelCase				:	Optional[int]    						=    KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)

# new array to test
_UpperCAmelCase				:	List[Any]    						=    [[1, 2, 1, 4], [2, 3, 4, 5]]

_UpperCAmelCase				:	Tuple    						=    knn.predict(X_new)

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