9. WRITE A PROGRAM TO IMPLEMENT K-NEAREST NEIGHBOUR ALGORITHM TO CLASSIFY THE IRIS DATA SET. PRINT BOTH CORRECT AND WRONG PREDICTIONS. JAVA/PYTHON ML LIBRARY CLASSES CAN BE USED FOR THIS PROBLEM.
SOLUTION 1
NO DATASET FOR SOLUTION 1
REQUIRES INTERNET
lab9.py
from sklearn.datasets import load_iris
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
import numpy as np
dataset=load_iris()
X_train,X_test,y_train,y_test=train_test_split(dataset["data"],dataset["target"],random_state=0)
kn=KNeighborsClassifier(n_neighbors=1)
kn.fit(X_train,y_train)
for i in range(len(X_test)):
x=X_test[i]
x_new=np.array([x])
prediction=kn.predict(x_new)
print("TARGET=",y_test[i],dataset["target_names"] [y_test[i]],"PREDICTED=",prediction,dataset["target_names"][prediction])
print(kn.score(X_test,y_test))
STEPS & OUTPUT:
to view steps & output click HERE
SOLUTION 2
iris_data.csv
lab9.py
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
import pandas as pd
import numpy as np
from sklearn import datasets
iris=datasets.load_iris()
iris_data=iris.data
iris_labels=iris.target
print(iris_data)
x_train, x_test, y_train, y_test=(train_test_split(iris_data, iris_labels, test_size=0.20))
classifier=KNeighborsClassifier(n_neighbors=6)
classifier.fit(x_train, y_train)
y_pred=classifier.predict(x_test)
print("accuracy is")
print(classification_report(y_test, y_pred))
STEPS & OUTPUT:
to view steps & output click HERE
SOLUTION 1
NO DATASET FOR SOLUTION 1
REQUIRES INTERNET
lab9.py
from sklearn.datasets import load_iris
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
import numpy as np
dataset=load_iris()
X_train,X_test,y_train,y_test=train_test_split(dataset["data"],dataset["target"],random_state=0)
kn=KNeighborsClassifier(n_neighbors=1)
kn.fit(X_train,y_train)
for i in range(len(X_test)):
x=X_test[i]
x_new=np.array([x])
prediction=kn.predict(x_new)
print("TARGET=",y_test[i],dataset["target_names"] [y_test[i]],"PREDICTED=",prediction,dataset["target_names"][prediction])
print(kn.score(X_test,y_test))
STEPS & OUTPUT:
to view steps & output click HERE
SOLUTION 2
iris_data.csv
5.1 | 3.5 | 1.4 | 0.2 | Iris-setosa |
4.9 | 3 | 1.4 | 0.2 | Iris-setosa |
4.7 | 3.2 | 1.3 | 0.2 | Iris-setosa |
4.6 | 3.1 | 1.5 | 0.2 | Iris-setosa |
5 | 3.6 | 1.4 | 0.2 | Iris-setosa |
5.4 | 3.9 | 1.7 | 0.4 | Iris-setosa |
4.6 | 3.4 | 1.4 | 0.3 | Iris-setosa |
5 | 3.4 | 1.5 | 0.2 | Iris-setosa |
4.4 | 2.9 | 1.4 | 0.2 | Iris-setosa |
4.9 | 3.1 | 1.5 | 0.1 | Iris-setosa |
5.4 | 3.7 | 1.5 | 0.2 | Iris-setosa |
4.8 | 3.4 | 1.6 | 0.2 | Iris-setosa |
4.8 | 3 | 1.4 | 0.1 | Iris-setosa |
4.3 | 3 | 1.1 | 0.1 | Iris-setosa |
5.8 | 4 | 1.2 | 0.2 | Iris-setosa |
5.7 | 4.4 | 1.5 | 0.4 | Iris-setosa |
5.4 | 3.9 | 1.3 | 0.4 | Iris-setosa |
5.1 | 3.5 | 1.4 | 0.3 | Iris-setosa |
5.7 | 3.8 | 1.7 | 0.3 | Iris-setosa |
5.1 | 3.8 | 1.5 | 0.3 | Iris-setosa |
5.4 | 3.4 | 1.7 | 0.2 | Iris-setosa |
5.1 | 3.7 | 1.5 | 0.4 | Iris-setosa |
4.6 | 3.6 | 1 | 0.2 | Iris-setosa |
5.1 | 3.3 | 1.7 | 0.5 | Iris-setosa |
4.8 | 3.4 | 1.9 | 0.2 | Iris-setosa |
5 | 3 | 1.6 | 0.2 | Iris-setosa |
5 | 3.4 | 1.6 | 0.4 | Iris-setosa |
5.2 | 3.5 | 1.5 | 0.2 | Iris-setosa |
5.2 | 3.4 | 1.4 | 0.2 | Iris-setosa |
4.7 | 3.2 | 1.6 | 0.2 | Iris-setosa |
4.8 | 3.1 | 1.6 | 0.2 | Iris-setosa |
5.4 | 3.4 | 1.5 | 0.4 | Iris-setosa |
5.2 | 4.1 | 1.5 | 0.1 | Iris-setosa |
5.5 | 4.2 | 1.4 | 0.2 | Iris-setosa |
4.9 | 3.1 | 1.5 | 0.1 | Iris-setosa |
5 | 3.2 | 1.2 | 0.2 | Iris-setosa |
5.5 | 3.5 | 1.3 | 0.2 | Iris-setosa |
4.9 | 3.1 | 1.5 | 0.1 | Iris-setosa |
4.4 | 3 | 1.3 | 0.2 | Iris-setosa |
5.1 | 3.4 | 1.5 | 0.2 | Iris-setosa |
5 | 3.5 | 1.3 | 0.3 | Iris-setosa |
4.5 | 2.3 | 1.3 | 0.3 | Iris-setosa |
4.4 | 3.2 | 1.3 | 0.2 | Iris-setosa |
5 | 3.5 | 1.6 | 0.6 | Iris-setosa |
5.1 | 3.8 | 1.9 | 0.4 | Iris-setosa |
4.8 | 3 | 1.4 | 0.3 | Iris-setosa |
5.1 | 3.8 | 1.6 | 0.2 | Iris-setosa |
4.6 | 3.2 | 1.4 | 0.2 | Iris-setosa |
5.3 | 3.7 | 1.5 | 0.2 | Iris-setosa |
5 | 3.3 | 1.4 | 0.2 | Iris-setosa |
7 | 3.2 | 4.7 | 1.4 | Iris-versicolor |
6.4 | 3.2 | 4.5 | 1.5 | Iris-versicolor |
6.9 | 3.1 | 4.9 | 1.5 | Iris-versicolor |
5.5 | 2.3 | 4 | 1.3 | Iris-versicolor |
6.5 | 2.8 | 4.6 | 1.5 | Iris-versicolor |
5.7 | 2.8 | 4.5 | 1.3 | Iris-versicolor |
6.3 | 3.3 | 4.7 | 1.6 | Iris-versicolor |
4.9 | 2.4 | 3.3 | 1 | Iris-versicolor |
6.6 | 2.9 | 4.6 | 1.3 | Iris-versicolor |
5.2 | 2.7 | 3.9 | 1.4 | Iris-versicolor |
5 | 2 | 3.5 | 1 | Iris-versicolor |
5.9 | 3 | 4.2 | 1.5 | Iris-versicolor |
6 | 2.2 | 4 | 1 | Iris-versicolor |
6.1 | 2.9 | 4.7 | 1.4 | Iris-versicolor |
5.6 | 2.9 | 3.6 | 1.3 | Iris-versicolor |
6.7 | 3.1 | 4.4 | 1.4 | Iris-versicolor |
5.6 | 3 | 4.5 | 1.5 | Iris-versicolor |
5.8 | 2.7 | 4.1 | 1 | Iris-versicolor |
6.2 | 2.2 | 4.5 | 1.5 | Iris-versicolor |
5.6 | 2.5 | 3.9 | 1.1 | Iris-versicolor |
5.9 | 3.2 | 4.8 | 1.8 | Iris-versicolor |
6.1 | 2.8 | 4 | 1.3 | Iris-versicolor |
6.3 | 2.5 | 4.9 | 1.5 | Iris-versicolor |
6.1 | 2.8 | 4.7 | 1.2 | Iris-versicolor |
6.4 | 2.9 | 4.3 | 1.3 | Iris-versicolor |
6.6 | 3 | 4.4 | 1.4 | Iris-versicolor |
6.8 | 2.8 | 4.8 | 1.4 | Iris-versicolor |
6.7 | 3 | 5 | 1.7 | Iris-versicolor |
6 | 2.9 | 4.5 | 1.5 | Iris-versicolor |
5.7 | 2.6 | 3.5 | 1 | Iris-versicolor |
5.5 | 2.4 | 3.8 | 1.1 | Iris-versicolor |
5.5 | 2.4 | 3.7 | 1 | Iris-versicolor |
5.8 | 2.7 | 3.9 | 1.2 | Iris-versicolor |
6 | 2.7 | 5.1 | 1.6 | Iris-versicolor |
5.4 | 3 | 4.5 | 1.5 | Iris-versicolor |
6 | 3.4 | 4.5 | 1.6 | Iris-versicolor |
6.7 | 3.1 | 4.7 | 1.5 | Iris-versicolor |
6.3 | 2.3 | 4.4 | 1.3 | Iris-versicolor |
5.6 | 3 | 4.1 | 1.3 | Iris-versicolor |
5.5 | 2.5 | 4 | 1.3 | Iris-versicolor |
5.5 | 2.6 | 4.4 | 1.2 | Iris-versicolor |
6.1 | 3 | 4.6 | 1.4 | Iris-versicolor |
5.8 | 2.6 | 4 | 1.2 | Iris-versicolor |
5 | 2.3 | 3.3 | 1 | Iris-versicolor |
5.6 | 2.7 | 4.2 | 1.3 | Iris-versicolor |
5.7 | 3 | 4.2 | 1.2 | Iris-versicolor |
5.7 | 2.9 | 4.2 | 1.3 | Iris-versicolor |
6.2 | 2.9 | 4.3 | 1.3 | Iris-versicolor |
5.1 | 2.5 | 3 | 1.1 | Iris-versicolor |
5.7 | 2.8 | 4.1 | 1.3 | Iris-versicolor |
6.3 | 3.3 | 6 | 2.5 | Iris-virginica |
5.8 | 2.7 | 5.1 | 1.9 | Iris-virginica |
7.1 | 3 | 5.9 | 2.1 | Iris-virginica |
6.3 | 2.9 | 5.6 | 1.8 | Iris-virginica |
6.5 | 3 | 5.8 | 2.2 | Iris-virginica |
7.6 | 3 | 6.6 | 2.1 | Iris-virginica |
4.9 | 2.5 | 4.5 | 1.7 | Iris-virginica |
7.3 | 2.9 | 6.3 | 1.8 | Iris-virginica |
6.7 | 2.5 | 5.8 | 1.8 | Iris-virginica |
7.2 | 3.6 | 6.1 | 2.5 | Iris-virginica |
6.5 | 3.2 | 5.1 | 2 | Iris-virginica |
6.4 | 2.7 | 5.3 | 1.9 | Iris-virginica |
6.8 | 3 | 5.5 | 2.1 | Iris-virginica |
5.7 | 2.5 | 5 | 2 | Iris-virginica |
5.8 | 2.8 | 5.1 | 2.4 | Iris-virginica |
6.4 | 3.2 | 5.3 | 2.3 | Iris-virginica |
6.5 | 3 | 5.5 | 1.8 | Iris-virginica |
7.7 | 3.8 | 6.7 | 2.2 | Iris-virginica |
7.7 | 2.6 | 6.9 | 2.3 | Iris-virginica |
6 | 2.2 | 5 | 1.5 | Iris-virginica |
6.9 | 3.2 | 5.7 | 2.3 | Iris-virginica |
5.6 | 2.8 | 4.9 | 2 | Iris-virginica |
7.7 | 2.8 | 6.7 | 2 | Iris-virginica |
6.3 | 2.7 | 4.9 | 1.8 | Iris-virginica |
6.7 | 3.3 | 5.7 | 2.1 | Iris-virginica |
7.2 | 3.2 | 6 | 1.8 | Iris-virginica |
6.2 | 2.8 | 4.8 | 1.8 | Iris-virginica |
6.1 | 3 | 4.9 | 1.8 | Iris-virginica |
6.4 | 2.8 | 5.6 | 2.1 | Iris-virginica |
7.2 | 3 | 5.8 | 1.6 | Iris-virginica |
7.4 | 2.8 | 6.1 | 1.9 | Iris-virginica |
7.9 | 3.8 | 6.4 | 2 | Iris-virginica |
6.4 | 2.8 | 5.6 | 2.2 | Iris-virginica |
6.3 | 2.8 | 5.1 | 1.5 | Iris-virginica |
6.1 | 2.6 | 5.6 | 1.4 | Iris-virginica |
7.7 | 3 | 6.1 | 2.3 | Iris-virginica |
6.3 | 3.4 | 5.6 | 2.4 | Iris-virginica |
6.4 | 3.1 | 5.5 | 1.8 | Iris-virginica |
6 | 3 | 4.8 | 1.8 | Iris-virginica |
6.9 | 3.1 | 5.4 | 2.1 | Iris-virginica |
6.7 | 3.1 | 5.6 | 2.4 | Iris-virginica |
6.9 | 3.1 | 5.1 | 2.3 | Iris-virginica |
5.8 | 2.7 | 5.1 | 1.9 | Iris-virginica |
6.8 | 3.2 | 5.9 | 2.3 | Iris-virginica |
6.7 | 3.3 | 5.7 | 2.5 | Iris-virginica |
6.7 | 3 | 5.2 | 2.3 | Iris-virginica |
6.3 | 2.5 | 5 | 1.9 | Iris-virginica |
6.5 | 3 | 5.2 | 2 | Iris-virginica |
6.2 | 3.4 | 5.4 | 2.3 | Iris-virginica |
5.9 | 3 | 5.1 | 1.8 | Iris-virginica |
lab9.py
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
import pandas as pd
import numpy as np
from sklearn import datasets
iris=datasets.load_iris()
iris_data=iris.data
iris_labels=iris.target
print(iris_data)
x_train, x_test, y_train, y_test=(train_test_split(iris_data, iris_labels, test_size=0.20))
classifier=KNeighborsClassifier(n_neighbors=6)
classifier.fit(x_train, y_train)
y_pred=classifier.predict(x_test)
print("accuracy is")
print(classification_report(y_test, y_pred))
STEPS & OUTPUT:
to view steps & output click HERE
No comments:
Post a Comment