X-Git-Url: https://git.piment-noir.org/?p=TP_AA.git;a=blobdiff_plain;f=TP3%2Fexo1%2Ftp3_exo1.py;h=02416ba46171c462dde7934537888c37661bdd3f;hp=73dd307de18e12ea18c25324c03142001c04c12d;hb=f08c4a957aa85ba34302bfa77dfe92fdd5e9668c;hpb=4e5e7ce89fa5c28e59588c06956be7517d232a11 diff --git a/TP3/exo1/tp3_exo1.py b/TP3/exo1/tp3_exo1.py index 73dd307..02416ba 100755 --- a/TP3/exo1/tp3_exo1.py +++ b/TP3/exo1/tp3_exo1.py @@ -28,7 +28,7 @@ def generateData2(n): Generates a 2D linearly separable dataset with 2n samples. The third element of the sample is the label """ - xb = (rand(n) * 2 - 1) / 2 - 0.5 + xb = (rand(n) * 2 - 1) / 2 + 0.5 yb = (rand(n) * 2 - 1) / 2 xr = (rand(n) * 2 - 1) / 2 + 1.5 yr = (rand(n) * 2 - 1) / 2 - 0.5 @@ -68,10 +68,15 @@ X = complete(X) w = perceptron_nobias(X, Y) # w is orthogonal to the hyperplan # with generateData +# plot arguments format is pl.plot([x1,x2],[y1,y2]) +# w[0]x + w[1]y = 0, so y = -w[0]x / w[1] # pl.plot([-1, 1], [w[0] / w[1], -w[0] / w[1]]) # with generateData2 and complete -# FIXME: the hyperplan equation is not correct -pl.plot([0, -1 / w[1]], [w[0] / w[1] - 1 / w[1], -w[0] / w[1] - 1 / w[1]]) +# w[0]x + w[1]y + w[2] = 0, so y = -(w[0]x + w[2]) / w[1] +x_start1 = -0.5 +x_start2 = 2.5 +pl.plot([x_start1, x_start2], [-(w[0] * x_start1 + w[2]) / + w[1], -(w[0] * x_start2 + w[2]) / w[1]]) pl.scatter(X[:, 0], X[:, 1], c=Y, s=training_set_size) pl.title(u"Perceptron - hyperplan") pl.show()