コード例 #1
0
    def run(self):
        data = self.imgHandler.constructData()
        # print(data.head())
        # pca = PCA(n_components=4, svd_solver='full')
        # pca.fit(data)
        # data_PCA = pca.transform(data)
        # print(pca.explained_variance_ratio_)
        p = PCA(3)
        p.loadData(data.copy())
        data_PCA, transformation_mat = p.transform()
        reconstruct = p.reconstruct(data_PCA)
        cv.imwrite('eigenfaces/rec.jpg',
                   np.array(reconstruct)[:, 0].reshape(self.res, self.res))
        cv.imwrite('eigenfaces/img1.jpg',
                   np.array(data_PCA)[:, 0].reshape(self.res, self.res))
        cv.imwrite('eigenfaces/img2.jpg',
                   np.array(data_PCA)[:, 1].reshape(self.res, self.res))
        cv.imwrite('eigenfaces/img3.jpg',
                   np.array(data_PCA)[:, 2].reshape(self.res, self.res))
        # cv.imwrite('eigenfaces/img4.jpg',np.array(data_PCA)[:,3].reshape(self.res,self.res))

        # mean_init = data_PCA.mean(axis=1)

        # self.__init__('verification_2','eigenfaces')
        # data_test = self.imgHandler.constructData()
        # data_test_PCA = p.project(data_test)
        # mean_test = np.array(data_test_PCA.mean(axis=1))
        # print(mean_init)
        # print(mean_test)
        # dist = np.linalg.norm(data_PCA[:,0]-data_test_PCA[:,0])
        # print(dist)
        # cv.imwrite('eigenfaces/rec.jpg',np.array(reconstruct)[:,0].reshape(self.res,self.res))
        # cv.imwrite('eigenfaces/img1.jpg',np.array(data_PCA)[:,0].reshape(self.res,self.res))
        # cv.imwrite('eigenfaces/img2.jpg',np.array(data_PCA)[:,1].reshape(self.res,self.res))
        # cv.imwrite('eigenfaces/img3.jpg',np.array(data_PCA)[:,2].reshape(self.res,self.res))
        # cv.imwrite('eigenfaces/img4.jpg',np.array(data_PCA)[:,3].reshape(self.res,self.res))
        cv.waitKey()
コード例 #2
0
    # print('iter:',i,'cost:',sess.run(mse, feed_dict=feed_dict))
    print('iter:', i, 'loss:', loss_)
    cost_list.append(loss_)

prob = sess.run(y_pred,
                feed_dict={
                    x_input: np.array(test_X),
                    y_real: np.array(test_y),
                    keep_prob: 1,
                    batch_size: test_size - look_back
                })
#反归一化
realpredict_y, real_y = scaler.inverse_transform(
    prob), scaler.inverse_transform(test_y)

pre_reconstruct = pca_obj.reconstruct(test_main_y, realpredict_y)
real_reconstruct = pca_obj.reconstruct(test_main_y, real_y)

print_res_index(pre_reconstruct, real_reconstruct, get_metrics)

plt.plot(pre_reconstruct, label='Predicted line')
plt.plot(real_reconstruct, label='Excepted line')
plt.show()
plt.close()

plt.plot(m, label='Excepted line')
plt.plot(([None for _ in range(train_size)] + [x for x in real_reconstruct]),
         label='Predicted line')
plt.title('RawData lstm predict')
plt.legend(loc='best')
plt.show()
コード例 #3
0
sess = tf.Session()

# 初始化变量
sess.run(tf.global_variables_initializer())

for i in range(1, max_epoch + 1):
    feed_dict = {
        x_input: dataX,
        y_real: dataY,
        keep_prob: dropout_keep_rate,
        batch_size: batch
    }
    sess.run(train_op, feed_dict=feed_dict)
    print('iter:', i, 'cost:', sess.run(mse, feed_dict=feed_dict))

    if i % 100 == 0:
        y_pre = sess.run(y_pred, feed_dict=feed_dict)  # (50,288)

        #反归一化
        realpredict_y, real_y = scaler.inverse_transform(
            [y_pre[0]]), scaler.inverse_transform([dataY[0]])
        pre_reconstruct = pca_obj.reconstruct(realpredict_y)
        plt.plot(pre_reconstruct[0], label='Predicted reconstruct line')
        # plt.plot()
        plt.plot(realpredict_y[0], label='Predicted line')
        plt.plot(real_y[0], label='Excepted line')
        plt.legend(loc='best')
        plt.show()
        plt.close()
コード例 #4
0
ファイル: main.py プロジェクト: yugrocks/Machine-Learning
x2 = p.fit_transform(x)
print(p.get_variance_score())

#Visusalization time
plt.scatter(x2[:, 0], x2[:, 1])
plt.plot()
p = None
"""now image compression"""

x = load_imgs()
print("The x matrix contains {} images converted to row vectors of length {}".
      format(x.shape[0], x.shape[1]))

#Now let's convert them to 25x25 size images. So the number of
#principal components becomes 25*25 = 625

p = PCA(nb_components=625)
x3 = p.fit_transform(x)
x2 = p.reconstruct()  #Reconstruct to visualize
print(p.get_variance_score())

#Display original
new_img = x[3].reshape((30, 30))
cv2.imshow("", new_img)
cv2.waitKey(0)

#Display converted image
new_img = x2[3].reshape((30, 30))
#new_img = cv2.resize(new_img, (30,30), interpolation = cv2.INTER_AREA)
cv2.imshow("", new_img)