In [1]:
import pandas as pd

In [10]:
df = pd.read_csv('IRIS.csv')

In [12]:
df.head(5)


Out[12]:
5.1 0.222222222 3.5 0.625 1.4 0.06779661 0.2 0.041666667 setosa
0 4.9 0.166667 3.0 0.416667 1.4 0.067797 0.2 0.041667 setosa
1 4.7 0.111111 3.2 0.500000 1.3 0.050847 0.2 0.041667 setosa
2 4.6 0.083333 3.1 0.458333 1.5 0.084746 0.2 0.041667 setosa
3 5.0 0.194444 3.6 0.666667 1.4 0.067797 0.2 0.041667 setosa
4 5.4 0.305556 3.9 0.791667 1.7 0.118644 0.4 0.125000 setosa

In [16]:
import sklearn as sl

In [11]:
from numpy import arange,array,ones,linalg
from pylab import plot,show

xi = arange(0,8)
A = array([ xi, ones(8)])
# linearly generated sequence
y = [19, 20, 20.5, 21.5, 22, 23, 23, 25.5]
w = linalg.lstsq(A.T,y)[0] # obtaining the parameters

# plotting the line
line = w[0]*xi+w[1] # regression line
plot(xi,line,'r-',xi,y,'o')
show()



In [2]:
import csv
import random
def loadData(filename,split,trainingSet=[],testSet=[]):
    with open(fileName,'rb') as csvfile:
        lines = csv.reader(csvfile)
        dataset = list(lines)

In [23]:
# Example of kNN implemented from Scratch in Python
 
import csv
import random
import math
import operator
 
def loadDataset(filename, split, trainingSet=[] , testSet=[]):
        with open(filename, 'rt',encoding='UTF-8') as csvfile:
            lines = csv.reader(csvfile)
            dataset = list(lines)
            for x in range(len(dataset)-1):
                for y in range(4):
                    dataset[x][y] = float(dataset[x][y])
                if random.random() < split:
                    trainingSet.append(dataset[x])
                else:
                    testSet.append(dataset[x])

def euclideanDistance(instance1, instance2, length):
        distance = 0
        for x in range(length):
            distance += pow((instance1[x] - instance2[x]), 2)
        return math.sqrt(distance)

def getNeighbors(trainingSet, testInstance, k):
        distances = []
        length = len(testInstance)-1
        for x in range(len(trainingSet)):
            dist = euclideanDistance(testInstance, trainingSet[x], length)
            distances.append((trainingSet[x], dist))
        distances.sort(key=operator.itemgetter(1))
#         print(distances)
        neighbors = []
        for x in range(k):
            print(distances[x][0])
            neighbors.append(distances[x][0])
        return neighbors

def getResponse(neighbors):
        classVotes = {}
        for x in range(len(neighbors)):
            response = neighbors[x][-1]
            if response in classVotes:
                classVotes[response] += 1
            else:
                classVotes[response] = 1
        sortedVotes = sorted(classVotes.items(), key=operator.itemgetter(1), reverse=True)
        return sortedVotes[0][0]

def getAccuracy(testSet, predictions):
        correct = 0
        for x in range(len(testSet)):
            if testSet[x][-1] == predictions[x]:
                correct += 1
        return (correct/float(len(testSet))) * 100.0

def main():
        # prepare data
        trainingSet=[]
        testSet=[]
        split = 0.67
        loadDataset('iris.data.txt', split, trainingSet, testSet)
        print('Train set: ' + repr(len(trainingSet))) 
        print( 'Test set: ' + repr(len(testSet)))
        # generate predictions
        predictions=[]
        k = 7
        for x in range(len(testSet)):
            neighbors = getNeighbors(trainingSet, testSet[x], k)
            result = getResponse(neighbors)
            predictions.append(result)
            print('> predicted=' + repr(result) + ', actual=' + repr(testSet[x][-1]))
        accuracy = getAccuracy(testSet, predictions)
        print('Accuracy: ' + repr(accuracy) + '%')

main()


Train set: 106
Test set: 44
[5.1, 3.5, 1.4, 0.2, 'Iris-setosa']
[5.1, 3.5, 1.4, 0.3, 'Iris-setosa']
[5.0, 3.5, 1.3, 0.3, 'Iris-setosa']
[5.1, 3.4, 1.5, 0.2, 'Iris-setosa']
[5.2, 3.5, 1.5, 0.2, 'Iris-setosa']
[5.1, 3.8, 1.5, 0.3, 'Iris-setosa']
[5.1, 3.7, 1.5, 0.4, 'Iris-setosa']
> predicted='Iris-setosa', actual='Iris-setosa'
[5.1, 3.4, 1.5, 0.2, 'Iris-setosa']
[5.0, 3.3, 1.4, 0.2, 'Iris-setosa']
[5.1, 3.5, 1.4, 0.2, 'Iris-setosa']
[5.1, 3.5, 1.4, 0.3, 'Iris-setosa']
[5.0, 3.4, 1.6, 0.4, 'Iris-setosa']
[4.8, 3.4, 1.6, 0.2, 'Iris-setosa']
[5.2, 3.5, 1.5, 0.2, 'Iris-setosa']
> predicted='Iris-setosa', actual='Iris-setosa'
[5.5, 4.2, 1.4, 0.2, 'Iris-setosa']
[5.4, 3.9, 1.3, 0.4, 'Iris-setosa']
[5.7, 4.4, 1.5, 0.4, 'Iris-setosa']
[5.7, 3.8, 1.7, 0.3, 'Iris-setosa']
[5.4, 3.7, 1.5, 0.2, 'Iris-setosa']
[5.5, 3.5, 1.3, 0.2, 'Iris-setosa']
[5.3, 3.7, 1.5, 0.2, 'Iris-setosa']
> predicted='Iris-setosa', actual='Iris-setosa'
[5.4, 3.4, 1.7, 0.2, 'Iris-setosa']
[5.2, 3.5, 1.5, 0.2, 'Iris-setosa']
[5.2, 3.4, 1.4, 0.2, 'Iris-setosa']
[5.5, 3.5, 1.3, 0.2, 'Iris-setosa']
[5.1, 3.5, 1.4, 0.3, 'Iris-setosa']
[5.4, 3.7, 1.5, 0.2, 'Iris-setosa']
[5.1, 3.4, 1.5, 0.2, 'Iris-setosa']
> predicted='Iris-setosa', actual='Iris-setosa'
[4.9, 3.1, 1.5, 0.1, 'Iris-setosa']
[4.9, 3.0, 1.4, 0.2, 'Iris-setosa']
[4.8, 3.1, 1.6, 0.2, 'Iris-setosa']
[4.8, 3.0, 1.4, 0.1, 'Iris-setosa']
[5.0, 3.0, 1.6, 0.2, 'Iris-setosa']
[5.0, 3.3, 1.4, 0.2, 'Iris-setosa']
[4.7, 3.2, 1.6, 0.2, 'Iris-setosa']
> predicted='Iris-setosa', actual='Iris-setosa'
[4.9, 3.1, 1.5, 0.1, 'Iris-setosa']
[4.9, 3.0, 1.4, 0.2, 'Iris-setosa']
[4.8, 3.1, 1.6, 0.2, 'Iris-setosa']
[4.8, 3.0, 1.4, 0.1, 'Iris-setosa']
[5.0, 3.0, 1.6, 0.2, 'Iris-setosa']
[5.0, 3.3, 1.4, 0.2, 'Iris-setosa']
[4.7, 3.2, 1.6, 0.2, 'Iris-setosa']
> predicted='Iris-setosa', actual='Iris-setosa'
[5.0, 3.4, 1.6, 0.4, 'Iris-setosa']
[5.1, 3.3, 1.7, 0.5, 'Iris-setosa']
[5.1, 3.7, 1.5, 0.4, 'Iris-setosa']
[5.1, 3.5, 1.4, 0.3, 'Iris-setosa']
[5.0, 3.5, 1.3, 0.3, 'Iris-setosa']
[5.1, 3.4, 1.5, 0.2, 'Iris-setosa']
[5.1, 3.8, 1.5, 0.3, 'Iris-setosa']
> predicted='Iris-setosa', actual='Iris-setosa'
[4.6, 3.1, 1.5, 0.2, 'Iris-setosa']
[4.7, 3.2, 1.3, 0.2, 'Iris-setosa']
[4.4, 3.2, 1.3, 0.2, 'Iris-setosa']
[4.6, 3.4, 1.4, 0.3, 'Iris-setosa']
[4.7, 3.2, 1.6, 0.2, 'Iris-setosa']
[4.4, 3.0, 1.3, 0.2, 'Iris-setosa']
[4.8, 3.0, 1.4, 0.1, 'Iris-setosa']
> predicted='Iris-setosa', actual='Iris-setosa'
[7.0, 3.2, 4.7, 1.4, 'Iris-versicolor']
[6.7, 3.1, 4.7, 1.5, 'Iris-versicolor']
[6.7, 3.0, 5.0, 1.7, 'Iris-versicolor']
[6.8, 2.8, 4.8, 1.4, 'Iris-versicolor']
[6.7, 3.1, 4.4, 1.4, 'Iris-versicolor']
[6.5, 2.8, 4.6, 1.5, 'Iris-versicolor']
[6.4, 3.2, 4.5, 1.5, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[5.5, 2.6, 4.4, 1.2, 'Iris-versicolor']
[5.7, 2.9, 4.2, 1.3, 'Iris-versicolor']
[6.0, 2.9, 4.5, 1.5, 'Iris-versicolor']
[5.7, 3.0, 4.2, 1.2, 'Iris-versicolor']
[5.7, 2.8, 4.1, 1.3, 'Iris-versicolor']
[5.4, 3.0, 4.5, 1.5, 'Iris-versicolor']
[6.1, 2.8, 4.7, 1.2, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[6.4, 3.2, 4.5, 1.5, 'Iris-versicolor']
[6.1, 3.0, 4.6, 1.4, 'Iris-versicolor']
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
[6.7, 3.1, 4.7, 1.5, 'Iris-versicolor']
[6.0, 3.0, 4.8, 1.8, 'Iris-virginica']
[6.1, 2.9, 4.7, 1.4, 'Iris-versicolor']
[6.0, 2.9, 4.5, 1.5, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[6.5, 2.8, 4.6, 1.5, 'Iris-versicolor']
[6.7, 3.1, 4.4, 1.4, 'Iris-versicolor']
[6.8, 2.8, 4.8, 1.4, 'Iris-versicolor']
[6.7, 3.1, 4.7, 1.5, 'Iris-versicolor']
[6.4, 2.9, 4.3, 1.3, 'Iris-versicolor']
[6.4, 3.2, 4.5, 1.5, 'Iris-versicolor']
[6.2, 2.9, 4.3, 1.3, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[5.0, 2.3, 3.3, 1.0, 'Iris-versicolor']
[4.9, 2.4, 3.3, 1.0, 'Iris-versicolor']
[5.5, 2.4, 3.7, 1.0, 'Iris-versicolor']
[5.5, 2.4, 3.8, 1.1, 'Iris-versicolor']
[5.5, 2.3, 4.0, 1.3, 'Iris-versicolor']
[5.6, 2.5, 3.9, 1.1, 'Iris-versicolor']
[5.5, 2.5, 4.0, 1.3, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[5.8, 2.6, 4.0, 1.2, 'Iris-versicolor']
[5.6, 2.5, 3.9, 1.1, 'Iris-versicolor']
[5.5, 2.4, 3.8, 1.1, 'Iris-versicolor']
[5.5, 2.3, 4.0, 1.3, 'Iris-versicolor']
[6.3, 2.3, 4.4, 1.3, 'Iris-versicolor']
[5.5, 2.4, 3.7, 1.0, 'Iris-versicolor']
[5.5, 2.5, 4.0, 1.3, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[5.7, 2.6, 3.5, 1.0, 'Iris-versicolor']
[5.6, 3.0, 4.1, 1.3, 'Iris-versicolor']
[5.7, 2.8, 4.1, 1.3, 'Iris-versicolor']
[5.6, 2.5, 3.9, 1.1, 'Iris-versicolor']
[5.2, 2.7, 3.9, 1.4, 'Iris-versicolor']
[5.8, 2.6, 4.0, 1.2, 'Iris-versicolor']
[5.5, 2.5, 4.0, 1.3, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[5.4, 3.0, 4.5, 1.5, 'Iris-versicolor']
[5.7, 2.9, 4.2, 1.3, 'Iris-versicolor']
[6.0, 2.9, 4.5, 1.5, 'Iris-versicolor']
[5.9, 3.0, 4.2, 1.5, 'Iris-versicolor']
[5.7, 3.0, 4.2, 1.2, 'Iris-versicolor']
[5.6, 3.0, 4.1, 1.3, 'Iris-versicolor']
[5.7, 2.8, 4.1, 1.3, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[5.8, 2.6, 4.0, 1.2, 'Iris-versicolor']
[5.7, 2.8, 4.1, 1.3, 'Iris-versicolor']
[5.6, 2.5, 3.9, 1.1, 'Iris-versicolor']
[5.7, 3.0, 4.2, 1.2, 'Iris-versicolor']
[5.7, 2.9, 4.2, 1.3, 'Iris-versicolor']
[6.1, 2.8, 4.0, 1.3, 'Iris-versicolor']
[5.6, 3.0, 4.1, 1.3, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[6.0, 3.0, 4.8, 1.8, 'Iris-virginica']
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
[5.9, 3.0, 5.1, 1.8, 'Iris-virginica']
[6.1, 3.0, 4.6, 1.4, 'Iris-versicolor']
[6.0, 2.9, 4.5, 1.5, 'Iris-versicolor']
[6.1, 2.9, 4.7, 1.4, 'Iris-versicolor']
[5.6, 2.8, 4.9, 2.0, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-versicolor'
[6.5, 2.8, 4.6, 1.5, 'Iris-versicolor']
[6.1, 2.9, 4.7, 1.4, 'Iris-versicolor']
[6.1, 2.8, 4.7, 1.2, 'Iris-versicolor']
[6.2, 2.2, 4.5, 1.5, 'Iris-versicolor']
[6.3, 2.3, 4.4, 1.3, 'Iris-versicolor']
[6.8, 2.8, 4.8, 1.4, 'Iris-versicolor']
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[6.7, 3.1, 4.4, 1.4, 'Iris-versicolor']
[6.4, 2.9, 4.3, 1.3, 'Iris-versicolor']
[6.4, 3.2, 4.5, 1.5, 'Iris-versicolor']
[6.5, 2.8, 4.6, 1.5, 'Iris-versicolor']
[6.7, 3.1, 4.7, 1.5, 'Iris-versicolor']
[6.2, 2.9, 4.3, 1.3, 'Iris-versicolor']
[6.8, 2.8, 4.8, 1.4, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[5.8, 2.6, 4.0, 1.2, 'Iris-versicolor']
[5.7, 2.8, 4.1, 1.3, 'Iris-versicolor']
[5.6, 2.5, 3.9, 1.1, 'Iris-versicolor']
[6.1, 2.8, 4.0, 1.3, 'Iris-versicolor']
[5.5, 2.5, 4.0, 1.3, 'Iris-versicolor']
[5.7, 2.9, 4.2, 1.3, 'Iris-versicolor']
[5.6, 3.0, 4.1, 1.3, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[5.8, 2.7, 5.1, 1.9, 'Iris-virginica']
[5.9, 3.0, 5.1, 1.8, 'Iris-virginica']
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
[6.0, 3.0, 4.8, 1.8, 'Iris-virginica']
[6.1, 2.9, 4.7, 1.4, 'Iris-versicolor']
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
[6.1, 2.6, 5.6, 1.4, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-versicolor'
[6.4, 3.2, 4.5, 1.5, 'Iris-versicolor']
[6.1, 3.0, 4.6, 1.4, 'Iris-versicolor']
[6.0, 2.9, 4.5, 1.5, 'Iris-versicolor']
[5.9, 3.0, 4.2, 1.5, 'Iris-versicolor']
[6.0, 3.0, 4.8, 1.8, 'Iris-virginica']
[6.1, 2.9, 4.7, 1.4, 'Iris-versicolor']
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[5.7, 2.8, 4.1, 1.3, 'Iris-versicolor']
[5.7, 2.9, 4.2, 1.3, 'Iris-versicolor']
[5.5, 2.6, 4.4, 1.2, 'Iris-versicolor']
[5.5, 2.5, 4.0, 1.3, 'Iris-versicolor']
[5.6, 3.0, 4.1, 1.3, 'Iris-versicolor']
[5.8, 2.6, 4.0, 1.2, 'Iris-versicolor']
[5.7, 3.0, 4.2, 1.2, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[4.9, 2.4, 3.3, 1.0, 'Iris-versicolor']
[5.0, 2.3, 3.3, 1.0, 'Iris-versicolor']
[5.7, 2.6, 3.5, 1.0, 'Iris-versicolor']
[5.5, 2.4, 3.7, 1.0, 'Iris-versicolor']
[5.5, 2.4, 3.8, 1.1, 'Iris-versicolor']
[5.2, 2.7, 3.9, 1.4, 'Iris-versicolor']
[5.6, 2.5, 3.9, 1.1, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-versicolor'
[6.4, 2.8, 5.6, 2.2, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.1, 'Iris-virginica']
[6.8, 3.2, 5.9, 2.3, 'Iris-virginica']
[6.8, 3.0, 5.5, 2.1, 'Iris-virginica']
[6.9, 3.2, 5.7, 2.3, 'Iris-virginica']
[6.7, 3.3, 5.7, 2.5, 'Iris-virginica']
[6.5, 3.0, 5.5, 1.8, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[7.4, 2.8, 6.1, 1.9, 'Iris-virginica']
[7.2, 3.2, 6.0, 1.8, 'Iris-virginica']
[7.6, 3.0, 6.6, 2.1, 'Iris-virginica']
[7.1, 3.0, 5.9, 2.1, 'Iris-virginica']
[7.2, 3.0, 5.8, 1.6, 'Iris-virginica']
[7.7, 2.8, 6.7, 2.0, 'Iris-virginica']
[7.7, 3.0, 6.1, 2.3, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.7, 3.0, 5.0, 1.7, 'Iris-versicolor']
[6.7, 3.0, 5.2, 2.3, 'Iris-virginica']
[6.5, 3.0, 5.5, 1.8, 'Iris-virginica']
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
[6.8, 3.0, 5.5, 2.1, 'Iris-virginica']
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
[6.2, 3.4, 5.4, 2.3, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[5.8, 2.7, 5.1, 1.9, 'Iris-virginica']
[5.6, 2.8, 4.9, 2.0, 'Iris-virginica']
[5.8, 2.8, 5.1, 2.4, 'Iris-virginica']
[5.9, 3.0, 5.1, 1.8, 'Iris-virginica']
[6.0, 3.0, 4.8, 1.8, 'Iris-virginica']
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.2, 3.4, 5.4, 2.3, 'Iris-virginica']
[6.7, 3.0, 5.2, 2.3, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.2, 'Iris-virginica']
[6.8, 3.0, 5.5, 2.1, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.1, 'Iris-virginica']
[6.7, 3.3, 5.7, 2.5, 'Iris-virginica']
[6.5, 3.0, 5.5, 1.8, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.2, 2.2, 4.5, 1.5, 'Iris-versicolor']
[5.8, 2.7, 5.1, 1.9, 'Iris-virginica']
[6.3, 2.3, 4.4, 1.3, 'Iris-versicolor']
[6.1, 2.6, 5.6, 1.4, 'Iris-virginica']
[6.1, 2.8, 4.7, 1.2, 'Iris-versicolor']
[6.1, 2.9, 4.7, 1.4, 'Iris-versicolor']
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
> predicted='Iris-versicolor', actual='Iris-virginica'
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
[6.0, 3.0, 4.8, 1.8, 'Iris-virginica']
[6.5, 2.8, 4.6, 1.5, 'Iris-versicolor']
[6.7, 3.0, 5.0, 1.7, 'Iris-versicolor']
[6.1, 2.9, 4.7, 1.4, 'Iris-versicolor']
[5.9, 3.0, 5.1, 1.8, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.9, 3.2, 5.7, 2.3, 'Iris-virginica']
[6.8, 3.2, 5.9, 2.3, 'Iris-virginica']
[6.8, 3.0, 5.5, 2.1, 'Iris-virginica']
[6.7, 3.3, 5.7, 2.5, 'Iris-virginica']
[6.5, 3.0, 5.5, 1.8, 'Iris-virginica']
[7.1, 3.0, 5.9, 2.1, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.1, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
[6.0, 3.0, 4.8, 1.8, 'Iris-virginica']
[6.1, 2.9, 4.7, 1.4, 'Iris-versicolor']
[5.9, 3.0, 5.1, 1.8, 'Iris-virginica']
[6.5, 2.8, 4.6, 1.5, 'Iris-versicolor']
[6.0, 2.9, 4.5, 1.5, 'Iris-versicolor']
[6.1, 3.0, 4.6, 1.4, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-virginica'
[7.7, 3.8, 6.7, 2.2, 'Iris-virginica']
[7.6, 3.0, 6.6, 2.1, 'Iris-virginica']
[7.7, 3.0, 6.1, 2.3, 'Iris-virginica']
[7.2, 3.6, 6.1, 2.5, 'Iris-virginica']
[7.2, 3.2, 6.0, 1.8, 'Iris-virginica']
[7.7, 2.8, 6.7, 2.0, 'Iris-virginica']
[7.4, 2.8, 6.1, 1.9, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
[6.1, 2.9, 4.7, 1.4, 'Iris-versicolor']
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
[6.7, 3.0, 5.0, 1.7, 'Iris-versicolor']
[6.1, 2.8, 4.7, 1.2, 'Iris-versicolor']
[5.9, 3.0, 5.1, 1.8, 'Iris-virginica']
[6.5, 2.8, 4.6, 1.5, 'Iris-versicolor']
> predicted='Iris-versicolor', actual='Iris-virginica'
[6.2, 3.4, 5.4, 2.3, 'Iris-virginica']
[6.3, 3.3, 6.0, 2.5, 'Iris-virginica']
[6.7, 3.3, 5.7, 2.5, 'Iris-virginica']
[6.8, 3.2, 5.9, 2.3, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.2, 'Iris-virginica']
[6.9, 3.2, 5.7, 2.3, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.1, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.5, 3.0, 5.5, 1.8, 'Iris-virginica']
[6.3, 2.9, 5.6, 1.8, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.1, 'Iris-virginica']
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
[6.8, 3.0, 5.5, 2.1, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.2, 'Iris-virginica']
[6.7, 3.0, 5.0, 1.7, 'Iris-versicolor']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.8, 3.0, 5.5, 2.1, 'Iris-virginica']
[6.7, 3.0, 5.2, 2.3, 'Iris-virginica']
[6.9, 3.2, 5.7, 2.3, 'Iris-virginica']
[6.5, 3.0, 5.5, 1.8, 'Iris-virginica']
[7.1, 3.0, 5.9, 2.1, 'Iris-virginica']
[6.8, 3.2, 5.9, 2.3, 'Iris-virginica']
[6.7, 3.3, 5.7, 2.5, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.7, 3.3, 5.7, 2.5, 'Iris-virginica']
[6.9, 3.2, 5.7, 2.3, 'Iris-virginica']
[6.8, 3.0, 5.5, 2.1, 'Iris-virginica']
[6.8, 3.2, 5.9, 2.3, 'Iris-virginica']
[6.7, 3.0, 5.2, 2.3, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.2, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.1, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.7, 3.0, 5.2, 2.3, 'Iris-virginica']
[6.8, 3.0, 5.5, 2.1, 'Iris-virginica']
[6.9, 3.2, 5.7, 2.3, 'Iris-virginica']
[6.7, 3.0, 5.0, 1.7, 'Iris-versicolor']
[6.7, 3.3, 5.7, 2.5, 'Iris-virginica']
[6.5, 3.0, 5.5, 1.8, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.2, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[5.8, 2.7, 5.1, 1.9, 'Iris-virginica']
[5.6, 2.8, 4.9, 2.0, 'Iris-virginica']
[5.9, 3.0, 5.1, 1.8, 'Iris-virginica']
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
[6.0, 3.0, 4.8, 1.8, 'Iris-virginica']
[5.8, 2.8, 5.1, 2.4, 'Iris-virginica']
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
[5.8, 2.7, 5.1, 1.9, 'Iris-virginica']
[6.1, 3.0, 4.9, 1.8, 'Iris-virginica']
[6.0, 3.0, 4.8, 1.8, 'Iris-virginica']
[5.9, 3.0, 5.1, 1.8, 'Iris-virginica']
[6.5, 2.8, 4.6, 1.5, 'Iris-versicolor']
[6.7, 3.0, 5.0, 1.7, 'Iris-versicolor']
> predicted='Iris-virginica', actual='Iris-virginica'
[6.4, 2.7, 5.3, 1.9, 'Iris-virginica']
[6.5, 3.0, 5.5, 1.8, 'Iris-virginica']
[6.7, 3.0, 5.2, 2.3, 'Iris-virginica']
[6.7, 3.0, 5.0, 1.7, 'Iris-versicolor']
[6.8, 3.0, 5.5, 2.1, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.1, 'Iris-virginica']
[6.4, 2.8, 5.6, 2.2, 'Iris-virginica']
> predicted='Iris-virginica', actual='Iris-virginica'
Accuracy: 88.63636363636364%

In [ ]: