In [10]:
from numpy import *
from PIL import *
import pickle
from pylab import *

In [11]:
import knn
knn = reload(knn)
import imtools
imtools = reload(imtools)

In [12]:
with open('points_normal.pkl', 'r') as f:
    class_1 = pickle.load(f)
    class_2 = pickle.load(f)
    labels = pickle.load(f)

In [13]:
model = knn.KnnClassifier(labels, vstack((class_1, class_2)))

In [14]:
with open('points_normal_test.pkl', 'r') as f:
    class_1 = pickle.load(f)
    class_2 = pickle.load(f)
    labels = pickle.load(f)

In [15]:
print model.classify(class_1[0])


1.0

In [24]:
for k in arange(1, 10):
    def classify(x, y, model=model, k=k):
        return array([model.classify([xx, yy], k) for (xx, yy) in zip(x, y)])
    imtools.plot_2D_boundary([-6, 6, -6, 6], [class_1, class_2], classify, [1, -1])
    show()



In [21]:




In [40]:
with open('points_ring.pkl', 'r') as f:
    class_1 = pickle.load(f)
    class_2 = pickle.load(f)
    labels = pickle.load(f)
model = knn.KnnClassifier(labels, vstack((class_1, class_2)))

with open('points_ring_test.pkl', 'r') as f:
    class_1 = pickle.load(f)
    class_2 = pickle.load(f)
    labels = pickle.load(f)

def classify2(x, y, model=model):
    return array([model.classify([xx, yy]) for (xx, yy) in zip(x, y)])

imtools.plot_2D_boundary([-6, 6, -6, 6], [class_1, class_2], classify2, [1, -1])

show()



In [ ]: