





import math





class UpperCAmelCase_							:


  def __init__(       self   ,__snake_case   ,__snake_case   ,__snake_case   ):



       """simple docstring"""





       A_					      =					x
       A_					      =					y
       A_					      =					z




  def __repr__(       self   ):



       """simple docstring"""





       return f'Point({self.x}, {self.y}, {self.z})'




def     UpperCAmelCase_						(						_UpperCAmelCase       :Point     ,	_UpperCAmelCase       :Point							)  ->							float:
     '''simple docstring'''


     return math.sqrt(abs((b.x - a.x) ** 2 + (b.y - a.y) ** 2 + (b.z - a.z) ** 2							)							)


if __name__ == "__main__":
      import doctest

      doctest.testmod()










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

# Load iris file
a__			:    List[str]			      =		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
a__      ,							a__      ,							a__      ,							a__			:    Any			      =		train_test_split(
    iris['data'], iris['target'], random_state=4
)

# KNN

a__			:    List[Any]			      =		KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)

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

a__			:    Union[str, Any]			      =		knn.predict(X_new)

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



