



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

# Load iris file
lowerCAmelCase__	:  Dict 		=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__	:  Dict 		=train_test_split(
    iris['''data'''], iris['''target'''], random_state=4
)

# KNN

lowerCAmelCase__	:  int 		=KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)

# new array to test
lowerCAmelCase__	:  Dict 		=[[1, 2, 1, 4], [2, 3, 4, 5]]

lowerCAmelCase__	:  Tuple 		=knn.predict(X_new)

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











from __future__ import annotations

class      UpperCAmelCase_						:

						'''simple docstring'''




						def __init__(					self   ,							_A	):







													'''simple docstring'''

													__SCREAMING_SNAKE_CASE								=      value
													__SCREAMING_SNAKE_CASE								=      None
													__SCREAMING_SNAKE_CASE								=      None







class      UpperCAmelCase_						:

						'''simple docstring'''




						UpperCamelCase__    :				int






						def __init__(					self	):







													'''simple docstring'''

													__SCREAMING_SNAKE_CASE								=      0






						def  _A			(					self   ,							_A   ,							_A	):







													'''simple docstring'''

													if node is None:
																				return

													if path_sum == self.target:
																				self.paths += 1

													if node.left:
																				self.depth_first_search(node.left   ,							path_sum + node.left.value	)
													if node.right:
																				self.depth_first_search(node.right   ,							path_sum + node.right.value	)






						def  _A			(					self   ,							_A   ,							_A = None	):







													'''simple docstring'''

													if node is None:
																				return 0
													if target is not None:
																				__SCREAMING_SNAKE_CASE								=      target

													self.depth_first_search(_A   ,							node.value	)
													self.path_sum(node.left	)
													self.path_sum(node.right	)

													return self.paths


if __name__ == "__main__":
			import doctest

			doctest.testmod()






