Beispiel #1
0
n = 100
x_origin = np.linspace(X.min(), X.max(), n)
_, _, xdata = utils.expand_feature(x_origin.reshape((n, 1)), mu, std)

ydata = model.predict(xdata)
plt.figure()
plt.plot(xdata[:, 1], ydata, 'r-')
plt.scatter(trainX[:, 1], trainy)
plt.xlabel('normalized hand-size')
plt.ylabel('stature')
plt.legend(['compound model', 'data points'], loc='lower right')
plt.show()

#%% 预测
best_idx = np.argmin(model.validloss)
model.W = model.snapshot[best_idx]
hand_size = float(input('输入你手的尺寸(以毫米为单位):'))
hand_size = np.array([[hand_size]])
_, _, hand_size = utils.expand_feature(hand_size, mu, std)
print("预测的身高: %.2f mm" % (model.predict(hand_size)))

#%% 目标值和测试值对照检查
target_pred = np.hstack((testy, model.predict(testX)))
for i in range(testy.shape[0]):
    print('目标值:{0}, 预测值:{1}'.format(target_pred[i, 0], target_pred[i, 1]))

#%% 载入作业用数据
data = np.load('data.npy')

#%% #%% 定义常量
n_feature = 3
Beispiel #2
0
                            regularisation_strength, animate)

    plot_axes.plot(X, linear_regression.predict(X))

    wait_for_keypress()

    # Caluclate final accuracy
    test_X = test['GrLivArea']
    test_y = test['SalePrice']

    training_acc = calculate_accuracy(linear_regression, X, y)
    test_acc = calculate_accuracy(linear_regression, test_X, test_y)

    print("W: {}".format(linear_regression.W))
    print "b: {}".format(linear_regression.b)
    print("Training Accuracy: {}".format(training_acc))
    print("Test Accuracy: {}".format(test_acc))

    print("Normal equation solution:")
    Xe = np.array([X, np.ones(X.shape)])
    W = np.linalg.pinv(Xe.T).dot(y)
    print("W: {}".format(W))
    l2 = LinearRegression()
    l2.W = W[[0]]
    l2.b = W[[1]]
    plt.plot(X, l2.predict(X))
    print("Training Accuracy: {}".format(calculate_accuracy(l2, X, y)))
    print("Test Accuracy: {}".format(calculate_accuracy(l2, test_X, test_y)))

    wait_for_keypress()