input: def supervised_learning_algorithm(dataset_path: str) -> np.ndarray:
      """ Implement a supervised learning algorithm in Python for a classification task using the iris dataset.
      The function should load the dataset, preprocess it, split it into training and test sets,
      train a K-Nearest Neighbors classifier, make predictions on the test set, and return the confusion matrix.
      >>> supervised_learning_algorithm('iris.csv')
      array([[11,  0,  0],
             [ 0, 13,  0],
             [ 0,  0,  6]])
      """
output:     
      import numpy as np
      from sklearn.datasets import load_iris
      from sklearn.model_selection import train_test_split
      from sklearn.preprocessing import StandardScaler
      from sklearn.neighbors import KNeighborsClassifier
      from sklearn.metrics import confusion_matrix
  
      # Load the dataset
      data = load_iris()
      X = data.data
      y = data.target
  
      # Preprocess the data
      scaler = StandardScaler()
      X = scaler.fit_transform(X)
  
      # Split the dataset into training and test sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
  
      # Train a K-Nearest Neighbors classifier
      knn = KNeighborsClassifier(n_neighbors=3)
      knn.fit(X_train, y_train)
  
      # Make predictions on the test set
      y_pred = knn.predict(X_test)
  
      # Return the confusion matrix
      return confusion_matrix(y_test, y_pred)
  