You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
757 B
38 lines
757 B
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() |