Exemple #1
0
def test_ae(x_train_, y_train_, x_test_, y_test_):
    """
    AE测试
    """
    rst = []
    # 数据展平
    x_train_ = x_train_.reshape(x_train_.shape[0], -1)
    x_test_ = x_test_.reshape(x_test_.shape[0], -1)
    # 测试数据一半用于svc训练,一半用于测试
    x_test_train = x_test_[:5000]
    y_test_train = y_test_[:5000]
    x_test_test = x_test_[5000:]
    y_test_test = y_test_[5000:]
    # k对应不同降维目标
    for k in range(10, 200, 10):
        # 训练pca
        ae = AutoEncoder(28 * 28, k, 28 * 28)
        ae.fit(x_train_, x_train_)
        # 训练svc分类器
        svc = SVC(gamma='scale')
        svc.fit(ae.encode(x_test_train), y_test_train)
        # 测试分类器
        y_pred = svc.predict(ae.encode(x_test_test))
        accuracy = accuracy_score(y_test_test, y_pred)
        print(accuracy)
        rst.append(accuracy)
    return rst

print("XShape: ", X.shape)

print("Making Predictions")
X_pred = (ae.predict(X_train)* sigma + mu).reshape(-1, 28, 28).astype(int).clip(0,255).astype('uint8')
print("Pred Shape: ", X_pred.shape)


get_random_images()
IPImage('images/orig.png')



print("Encoding Training Data")
X_encoded=ae.encode(X_train)
print("Encoded Shape: ",X_encoded.shape)

print("Decoding Data")
X_decoded = (ae.decode(X_encoded) * sigma + mu).reshape(-1, 28, 28).astype(int).clip(0,255).astype('uint8')
print("Decoded Shape: ",X_decoded.shape)


# check it worked:
pic_array = get_picture_array(X_decoded, np.random.randint(len(X_decoded)))
image = Image.fromarray(pic_array)
image.save('images/test.png', format="PNG")
IPImage('images/test.png')


print("Done.")
Exemple #3
0
X_train = X_train.astype(np.float32)
X_out = X_train.reshape((X_train.shape[0], -1))

print("XShape: ", X.shape)

print("Making Predictions")
X_pred = (ae.predict(X_train) * sigma + mu).reshape(-1, 28,
                                                    28).astype(int).clip(
                                                        0, 255).astype('uint8')
print("Pred Shape: ", X_pred.shape)

get_random_images()
IPImage('images/orig.png')

print("Encoding Training Data")
X_encoded = ae.encode(X_train)
print("Encoded Shape: ", X_encoded.shape)

print("Decoding Data")
X_decoded = (ae.decode(X_encoded) * sigma + mu).reshape(
    -1, 28, 28).astype(int).clip(0, 255).astype('uint8')
print("Decoded Shape: ", X_decoded.shape)

# check it worked:
pic_array = get_picture_array(X_decoded, np.random.randint(len(X_decoded)))
image = Image.fromarray(pic_array)
image.save('images/test.png', format="PNG")
IPImage('images/test.png')

print("Done.")
Exemple #4
0
    def _compress(self, df, index=''):
        ae = AutoEncoder(df.shape[0], int(df.shape[0] / 2))
        ae.train(df.values, 2, 20, verbose=True)

        return pd.DataFrame(ae.encode(df.values.ix[:, df.columns != index]),
                            index=index)