input: Write a function to implement a supervised learning algorithm for a classification task using the iris dataset. The function should load the dataset, split it into training and test sets, preprocess the data, train a KNeighborsClassifier, make predictions on the test set, and print the confusion matrix. If the dataset is not provided, the function should load it from a file named 'iris.csv'.
  assert implement_iris_classification()==None
  assert implement_iris_classification()==None
  assert implement_iris_classification()==None
  assert implement_iris_classification()==None
  assert implement_iris_classification()==None
output: def implement_iris_classification():
      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
      import pandas as pd
      
      try:
          iris = load_iris()
      except:
          iris = pd.read_csv('iris.csv')
          iris = iris.values
      
      X = iris.data
      y = iris.target
      
      X_train, X_test, y_train, y_test = train_test_split(X, y, 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=3)
      knn.fit(X_train, y_train)
      
      y_pred = knn.predict(X_test)
      
      print(confusion_matrix(y_test, y_pred))