input: Write a function that performs a supervised learning classification task using the iris dataset. The function should load the dataset, split it into training and testing sets, preprocess the data, train a KNeighborsClassifier with 5 neighbors, and finally return the confusion matrix of the model's predictions on the test set.
  assert supervised_learning_iris() == confusion_matrix(y_test, y_pred)
output: def supervised_learning_iris():
      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
  
      iris = load_iris()
      X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=42)
      
      scaler = StandardScaler()
      X_train = scaler.fit_transform(X_train)
      X_test = scaler.transform(X_test)
      
      knn = KNeighborsClassifier(n_neighbors=5)
      knn.fit(X_train, y_train)
      
      y_pred = knn.predict(X_test)
      return confusion_matrix(y_test, y_pred)