input: Write a python function to train and evaluate a K-Nearest Neighbors classifier on a given dataset.
  assert isinstance(train_evaluate_knn(pd.DataFrame(np.random.rand(100, 5)), pd.Series(np.random.randint(2, size=100))), tuple)
  assert len(train_evaluate_knn(pd.DataFrame(np.random.rand(100, 5)), pd.Series(np.random.randint(2, size=100)))) == 2
output: def train_evaluate_knn(X, y):
      from sklearn.model_selection import train_test_split
      from sklearn.neighbors import KNeighborsClassifier
      from sklearn.metrics import accuracy_score
  
      # Split the dataset into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      
      # Create and train the KNN classifier
      knn = KNeighborsClassifier(n_neighbors=5)
      knn.fit(X_train, y_train)
      
      # Make predictions on the test set
      y_pred = knn.predict(X_test)
      
      # Evaluate the classifier
      accuracy = accuracy_score(y_test, y_pred)
      
      return knn, accuracy