diff --git a/demo2.py b/demo2.py new file mode 100644 index 0000000..bf0d05e --- /dev/null +++ b/demo2.py @@ -0,0 +1,38 @@ +from nnnar import * +from knn import * +import matplotlib.pyplot as plt +from random import * + +knn = Knn() +nnnar = Nnnar(1, 0, 1000, 10) + +def getRandomParam(): + return [random()*10-5, random()*10-5,random()*10-5] + +def applyFunction(x,param): + return pow(x*param[0],2) + x*param[1] + param[2] + + +param = getRandomParam() +nbPoints = 100 +minx = 0 +maxx = 10 +x = [] +y = [] + +for i in [minx + (maxx-minx)*i/nbPoints for i in range(nbPoints)]: + x.append(i) + y.append(applyFunction(i,param)) + knn.addPoint(np.array([i]),np.array([y[-1]])) + nnnar.addPoint(np.array([i]),np.array([y[-1]])) + + +nbInfer = 20 +for i in range(nbInfer): + xt = random()*10 + yt = nnnar.getValueOfPoint(np.array([xt]),2) + plt.plot(xt,yt[0],'xr') + + +plt.plot(x,y) +plt.show() \ No newline at end of file diff --git a/knn.py b/knn.py index 329edbc..943d30f 100644 --- a/knn.py +++ b/knn.py @@ -43,12 +43,4 @@ class Knn: distance[maxDistIdx] = dist[i] maxDistIdx = np.argmax(distance) return found, distance - - - -k = Knn() - -k.addPoint(np.array([1, 0.8,1.5]), [0.2,0.5]) -k.addPoint(np.array([0.2, 1.8,1.2]), [0.4,0.7]) - -print(k.getValueOfPoint(np.array([1, 0.8, 1.5]), 2)) \ No newline at end of file + \ No newline at end of file diff --git a/3nar.py b/nnnar.py similarity index 94% rename from 3nar.py rename to nnnar.py index c33b45c..b279f6f 100644 --- a/3nar.py +++ b/nnnar.py @@ -71,11 +71,3 @@ class Nnnar: coord = coord / self.unit coord = np.floor(coord).astype(int) return coord - - -n = Nnnar(3, 0, 3, 2) - -n.addPoint(np.array([1, 0.8,1.5]), [0.2,0.5]) -n.addPoint(np.array([0.2, 1.8,1.2]), [0.4,0.7]) - -print(n.getValueOfPoint(np.array([1, 0.8, 1.5]), 2)) \ No newline at end of file