Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Exercise 8:

Balasubramanian S

19Z237

Aim:

Use Scikit-learn to train in SVM, NB, MLP Models, and Predict their
accuracy
In [ ]: from sklearn import datasets

iris = datasets.load_iris()
iris

iris_data = iris.data
iris_label = iris.target

len(iris_data)
print(iris.feature_names)

['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']

In [ ]: from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(iris_data, iris_label, test_size=


len(x_train)

120
Out[ ]:

In [ ]: from sklearn import svm


import sklearn.metrics as metrics

svm_model = svm.SVC().fit(x_train, y_train)

svm_pred = svm_model.predict(x_test)

print(svm_pred)
print(y_test)

svm_accuracy = metrics.accuracy_score(svm_pred, y_test)


print("Accuracy: ", svm_accuracy*100, "%")
print("Precision: ", metrics.precision_score(y_test, svm_pred, average=None))
print("F1: ", metrics.f1_score(y_test, svm_pred, zero_division=1, average=None))

[0 0 0 2 1 1 2 2 1 2 0 2 1 1 0 1 0 0 0 1 2 0 0 0 2 2 1 2 0 1]
[0 0 0 2 1 1 2 2 1 2 0 2 1 1 0 1 0 0 0 1 2 0 0 0 2 2 1 2 0 1]
Accuracy: 100.0 %
Precision: [1. 1. 1.]
F1: [1. 1. 1.]

In [ ]: from sklearn.neural_network import MLPClassifier

mlp_model = MLPClassifier().fit(x_train, y_train)

mlp_pred = mlp_model.predict(x_test)

print(mlp_pred)
print(y_test)

mlp_accuracy = metrics.accuracy_score(mlp_pred, y_test)


print("Accuracy: ", mlp_accuracy*100, "%")
Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/fontdata.js
print("Precision: ", metrics.precision_score(y_test, mlp_pred, average=None))
print("F1: ", metrics.f1_score(y_test, mlp_pred, zero_division=1, average=None))

[0 0 0 2 1 1 2 2 1 2 0 2 1 1 0 1 0 0 0 2 2 0 0 0 2 2 2 2 0 1]
[0 0 0 2 1 1 2 2 1 2 0 2 1 1 0 1 0 0 0 1 2 0 0 0 2 2 1 2 0 1]
Accuracy: 93.33333333333333 %
Precision: [1. 1. 0.81818182]
F1: [1. 0.875 0.9 ]
/Users/Balasubramanian/Desktop/ML/balasubramanian/lib/python3.9/site-packages/sklear
n/neural_network/_multilayer_perceptron.py:692: ConvergenceWarning: Stochastic Optimi
zer: Maximum iterations (200) reached and the optimization hasn't converged yet.
warnings.warn(

In [ ]: from sklearn.naive_bayes import GaussianNB


nb_model = GaussianNB().fit(x_train, y_train)

nb_pred = nb_model.predict(x_test)

print(nb_pred)
print(y_test)

nb_accuracy = metrics.accuracy_score(nb_pred, y_test)


print("Accuracy: ", nb_accuracy*100, "%")
print("Precision: ", metrics.precision_score(y_test, nb_pred, average=None))
print("F1: ", metrics.f1_score(y_test, nb_pred, zero_division=1, average=None))

[0 0 0 2 1 1 2 2 1 2 0 2 1 1 0 1 0 0 0 1 1 0 0 0 2 2 2 2 0 1]
[0 0 0 2 1 1 2 2 1 2 0 2 1 1 0 1 0 0 0 1 2 0 0 0 2 2 1 2 0 1]
Accuracy: 93.33333333333333 %
Precision: [1. 0.88888889 0.88888889]
F1: [1. 0.88888889 0.88888889]

Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/fontdata.js

You might also like