def linear_regression(): line = Line() line.slanting_line() sample = line.generate_sample(N) lr = LinearRegression() lr.learn(sample) # in-sample error e_in = lr.calculate_error(sample) # Plotting in-sample graph #plt = lr.plot(sample) #plot the samples #plt.plot([-lr.weight[0]/lr.weight[1] for y in xrange(-1,2)], [y for y in xrange(-1,2)]) # Add the x intercept line #plt.show() # out-sample error sample = line.generate_sample(1000) e_out = lr.calculate_error(sample) # Plotting out-sample graph #plt = lr.plot(sample) #plot the samples #plt.plot([-lr.weight[0]/lr.weight[1] for y in xrange(-1,2)], [y for y in xrange(-1,2)]) # Add the x intercept line #plt.show() #print "Line: slope=", line.slope, " intercept=", line.intercept #print "W_Vec: weight=", lr.weight[1], " threshold=", lr.weight[0] return e_in, e_out
def lr_booting_preceptron(): line = Line() line.slanting_line() sample = line.generate_sample(N) lr = LinearRegression() lr.learn(sample) p = Preceptron(lr.weight) p.learn(sample) return p.count