multiclass
This commit is contained in:
64
scripts/multiclass.py
Normal file
64
scripts/multiclass.py
Normal file
@@ -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)
|
||||
Reference in New Issue
Block a user