コード例 #1
0
X_train = data["train_imgs"].squeeze()[:N_train, :]
L_train = data["train_labels"][:N_train]
T_train = np.zeros((N_train, L_train.max() + 1))
T_train[np.arange(N_train), L_train] = 1

N_test = data["test_no"]
X_test = data["test_imgs"].squeeze()
L_test = data["test_labels"]
T_test = np.zeros((N_test, L_test.max() + 1))
T_test[np.arange(N_test), L_test] = 1

# ------------------------------------------------------------------------------
# ------ Closed form solution

cf_model = LinearClassifier()
cf_model.closed_form(X_train, T_train)

acc, conf = evaluate(cf_model, X_test, L_test)

print("[Closed Form] Accuracy on test set: %f" % acc)
print(conf)
plot_confusion_matrix(conf, 1, "Closed form")

acc1 = np.ones(EPOCHS_NO) * acc

print("-------------------")

# ------------------------------------------------------------------------------
# ------ Gradient optimization of linear model

grad_model = LinearClassifier()