def test_RBM(train_X, train_Y, test_X, test_Y): # Create and train RBM rbm = RBM(28 * 28, 500) rbm.fit(train_X) rbm.get_filters() train_X = np.array([rbm.inference(x) for x in train_X]) test_X = np.array([rbm.inference(x) for x in test_X]) logreg = LogisticRegression(max_iter=10) logreg.fit(train_X, train_Y) predict_Y = logreg.predict(train_X) print("Accuracy on training data") print(accuracy_score(train_Y, predict_Y)) predict_Y = logreg.predict(test_X) print("Accuracy on test data") print(accuracy_score(test_Y, predict_Y))
print("Epoch: {}, Reconstruction Error: {}".format(num, ReconErr)) for num in range(Epoch): batch_xs = rbm1.passThrough(MA_data) new_w, new_hb, new_vb, ReconErr = rbm2.train(batch_xs) print("Epoch: {}, Reconstruction Error: {}".format(num, ReconErr)) for num in range(Epoch): batch_xs = rbm1.passThrough(MA_data) batch_xs1 = rbm2.passThrough(batch_xs) new_w, new_hb, new_vb, ReconErr = rbm3.train(batch_xs1) print("Epoch: {}, Reconstruction Error: {}".format(num, ReconErr)) temp1 = rbm1.passThrough(MA_data) temp2 = rbm2.passThrough(temp1) temp3 = rbm3.inference(temp2) temp4 = rbm2.passBack(temp3) REC = rbm1.passBack(temp4) print(np.shape(REC)) RMSE = np.sqrt( np.mean(np.square(MA_data - REC), axis=0) / float(np.shape(MA_data)[0])) print("Shape of RMSE: {}, RMSE {}".format(np.shape(RMSE), RMSE)) ReconRank = rankdata(RMSE) with open('FeatureRank.csv', 'wb') as csvfile: spamwriter = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)