
'''simple docstring'''







def   lowerCAmelCase(  a__    :  Union[str, Any]      ):







       '''simple docstring'''






       if not isinstance(SCREAMING_SNAKE_CASE_      , SCREAMING_SNAKE_CASE_      ):
              raise ValueError("double_factorial() only accepts integral values"      )
       if num < 0:
              raise ValueError("double_factorial() not defined for negative values"      )
       lowerCamelCase__				   =      1
       for i in range(SCREAMING_SNAKE_CASE_      , 0      , -2      ):
              value *= i
       return value


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
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]}"""
)