From 356dcfe0927e47dcaf446a6558f80c1c0aa78122 Mon Sep 17 00:00:00 2001 From: Pritimay Sarkar Date: Sun, 24 Sep 2023 13:02:43 +0530 Subject: [PATCH] multiclass --- scripts/multiclass.py | 64 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 scripts/multiclass.py diff --git a/scripts/multiclass.py b/scripts/multiclass.py new file mode 100644 index 0000000..1057821 --- /dev/null +++ b/scripts/multiclass.py @@ -0,0 +1,64 @@ +# 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)