input: Write a function to implement a supervised learning algorithm for a classification task using the iris dataset. The function should split the dataset into training and test sets, preprocess the data, define a KNN classifier, fit the model, make predictions, and print the confusion matrix.
  assert len(implement_supervised_learning('iris.csv'))==9
output: def implement_supervised_learning(file_path):
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.preprocessing import StandardScaler
      from sklearn.neighbors import KNeighborsClassifier
      from sklearn.metrics import confusion_matrix
      
      data = pd.read_csv(file_path)
      X = data.iloc[:, :-1]
      y = data.iloc[:, -1]
      
      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)
      
      cm = confusion_matrix(y_test, y_pred)
      return cm