示例#1
0
def q14(never_used_param):
	n_params = 2
	N = 1000
	X, y = load_dataset(N, f, n_params, noise_level=0.1)
	lr = linreg.LinearRegression()
	lr.fit(transform(X), y)
	return lr.w
示例#2
0
def q13(never_used_param):
	n_params = 2
	N = 1000
	X, y = load_dataset(N, f, n_params, noise_level=0.1)
	lr = linreg.LinearRegression()
	lr.fit(X, y)
	err = np.sum(np.vectorize(sign)(lr.predict(X)) != y)
	err_rate = err * 1.0 / N
	return err_rate
示例#3
0
def q15(never_used_param):
	n_params = 2
	N = 1000
	X_train, y_train = load_dataset(N, f, n_params, noise_level=0.1)
	lr = linreg.LinearRegression()
	lr.fit(transform(X_train), y_train)
	X_test, y_test = load_dataset(N, f, n_params, noise_level=0.1)
	err = np.sum(np.vectorize(sign)(lr.predict(transform(X_test))) != y_test)
	err_rate = err * 1.0 / N
	return err_rate
示例#4
0
test_data = np.loadtxt("boston_test.csv", delimiter=",")
X_train, t_train = train_data[:,:-1], train_data[:,-1]
X_test, t_test = test_data[:,:-1], test_data[:,-1]
# print("Initial X_train:",X_train.shape)
# print("Initial t_train:", t_train.shape)
# make sure that we have N-dimensional Numpy arrays (ndarray)
t_train = t_train.reshape((len(t_train), 1))
t_test = t_test.reshape((len(t_test), 1))
# print("X_train after reshape", X_train.shape)
# print("X_train after reshape", t_train.shape)
print("Number of training instances: %i" % X_train.shape[0])
print("Number of test instances: %i" % X_test.shape[0])
print("Number of features: %i" % X_train.shape[1])

# (b) fit linear regression using only the first feature
model_single = linreg.LinearRegression()
model_single.fit(X_train[:,0], t_train)
print("Single feature model weights w0 = %f and w1 = %f " % (model_single.w[0], model_single.w[1]))

# (c) fit linear regression model using all features
model_all = linreg.LinearRegression()
model_all.fit(X_train, t_train)
print("Weights for all features model:")
print(model_all.w)

# (d) evaluation of results
def rmse(t, tp):
    return np.sqrt(((t - tp) ** 2).mean())

pred_single = model_single.predict(X_test[:,0])
rmse_single = rmse(t_test, pred_single)
X_train = X_train.reshape((len(X_train), 1))
X_plot = X_plot.reshape((len(X_plot), 1))
print(X_plot.shape)

print("Shape of training data: %s" % str(X_train.shape))
print("Shape of target vector: %s" % str(t_train.shape))
print("Shape of plotting data: %s" % str(X_plot.shape))

# print(X_train)
# In[ ]:


import linreg

# instantiate the regression model
model = linreg.LinearRegression()

# fit the model
model.fit(X_train, t_train)


# In[ ]:
# get predictions for the data points
preds = model.predict(X_plot)
print(model.w)
# plot the points and the linear regression model
plt.plot(X_train, t_train, 'o')
plt.plot(X_plot, preds, '-', color='red')