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()