# importing necessary libraries from sklearn import datasets from sklearn.metrics import confusion_matrix from sklearn.model_selection import train_test_split # loading the iris dataset iris = datasets.load_iris() # X -> features, y -> label X = iris.data y = iris.target # dividing X, y into train and test data X_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 0) # training a DescisionTreeClassifier from sklearn.tree import DecisionTreeClassifier dtree_model = DecisionTreeClassifier(max_depth = 2).fit(X_train, y_train) dtree_predictions = dtree_model.predict(X_test) # creating a confusion matrix cm = confusion_matrix(y_test, dtree_predictions) print("DescisionTreeClassifier", cm) # training a linear SVM classifier from sklearn.svm import SVC svm_model_linear = SVC(kernel = 'linear', C = 1).fit(X_train, y_train) svm_predictions = svm_model_linear.predict(X_test) # model accuracy for X_test accuracy = svm_model_linear.score(X_test, y_test) # creating a confusion matrix cm = confusion_matrix(y_test, svm_predictions) print("linear SVM: ", cm) # training a KNN classifier from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier(n_neighbors = 7).fit(X_train, y_train) # accuracy on X_test accuracy = knn.score(X_test, y_test) print(accuracy) # creating a confusion matrix knn_predictions = knn.predict(X_test) cm = confusion_matrix(y_test, knn_predictions) print("KNN:\n", cm) # training a Naive Bayes classifier from sklearn.naive_bayes import GaussianNB gnb = GaussianNB().fit(X_train, y_train) gnb_predictions = gnb.predict(X_test) # accuracy on X_test accuracy = gnb.score(X_test, y_test) print(accuracy) # creating a confusion matrix cm = confusion_matrix(y_test, gnb_predictions) print("NB:\n", cm)