コード例 #1
0
def polySVM(X_train, y_train, X_test, y_test):
    (X_train, y_train), (X_test, y_test) = tools.load_npz(path)
    t1 = time.time()
    from sklearn.svm import SVC
    model = SVC(kernel='poly', probability=False)
    model.fit(X_train, y_train)
    train_predict = model.predict(X_train)
    train_acc = accuracy_score(train_predict, y_train) * 100
    print("Accuracy of train data set: %.2f" % train_acc, "%")
    test_predict = model.predict(X_test)
    test_acc = accuracy_score(test_predict, y_test) * 100
    print("Accuracy of test data set: %.2f" % test_acc, "%")
    t2 = time.time()
    cost_time = t2 - t1
    print("poly cost time: %.2f" % cost_time)
コード例 #2
0
workpath = os.path.abspath("..")
sys.path.append(workpath)
from src.pilae import PILAE
import src.tools as tools
import numpy as np
import matplotlib.pyplot as plt

data_dict = {'mnist.npz': 784,
             'fashionmnist.npz': 784,
             'cifar10.npz': 1024,
             'cifar10RGB.npz': 3072}

DATASET = 'mnist.npz'  # 更改数据集只需要替换这里

## 这个是自己写的读数据方法,知道保证读出来的数据是numpy格式的二维数据就可以
(X_train, y_train), (X_test, y_test) = tools.load_npz("../dataset/" + DATASET)


X_train = X_train.reshape(-1, data_dict[DATASET]).astype('float64') / 255.
X_test = X_test.reshape(-1, data_dict[DATASET]).astype('float64') / 255.
X = np.concatenate([X_train, X_test])
y = np.concatenate([y_train, y_test])

X_train, y_train, X_test, y_test = tools.split_dataset(X[:40000], y[:40000], 0.7)

# 实验 找给定数据集(秩一定),测试误差最低时的隐层神经元个数
rank = np.linalg.matrix_rank(X_train)
list_train_acc = []
list_test_acc = []
list_num_hidden_units = []
for p in range(100, 40000, 200):
コード例 #3
0
ファイル: test_ipilae.py プロジェクト: jiadonglee/PILAE
import os
workpath = os.path.abspath("..")
sys.path.append(workpath)
import src.incremental_PILAE as ipilae
import src.tools as tools
import collections
import src.Hog as hg
from sklearn import preprocessing
import numpy as np
import time
import multiprocessing
import csv
num = 0


(X_train, y_train), (X_test, y_test) = tools.load_npz("../dataset/mnist/mnist.npz")
X_train = X_train.reshape(-1, 784).astype('float32')/255
X_test = X_test.reshape(-1, 784).astype('float32')/255



hyperParam = ipilae.HParams(batch_size=128,
                     num_classes=10,
                     ae_k=[0.78, 0.3],
                     pil_k=[0.01, 0.01],
                     ae_p=[740, 720],
                     pil_p=[134, 110],
                     ae_layers=2,
                     pil_layers=2,
                     acFunc='sig'
                     )
コード例 #4
0
    train_predict = model.predict(X_train)
    train_acc = accuracy_score(train_predict, y_train) * 100
    print("Accuracy of train data set: %.2f" % train_acc, "%")
    test_predict = model.predict(X_test)
    test_acc = accuracy_score(test_predict, y_test) * 100
    print("Accuracy of test data set: %.2f" % test_acc, "%")
    t2 = time.time()
    cost_time = t2 - t1
    print("sig cost time: %.2f" % cost_time)


path = "../dataset/mnist/mnist.npz"
path2 = "../dataset/fashionmnist/fashionmnist.npz"
path3 = "../dataset/cifar10/cifar10.npz"

(X_train, y_train), (X_test, y_test) = tools.load_npz(path)
X_train = X_train.reshape(-1, 784).astype('float32') / 255
X_test = X_test.reshape(-1, 784).astype('float32') / 255
print("===========mnist==========")
linearSVM(X_train, y_train, X_test, y_test)
rbfSVM(X_train, y_train, X_test, y_test)
polySVM(X_train, y_train, X_test, y_test)
sigSVM(X_train, y_train, X_test, y_test)

(X_train, y_train), (X_test, y_test) = tools.load_npz(path2)
X_train = X_train.reshape(-1, 784).astype('float32') / 255
X_test = X_test.reshape(-1, 784).astype('float32') / 255
print("===========fashionmnist==========")
linearSVM(X_train, y_train, X_test, y_test)
rbfSVM(X_train, y_train, X_test, y_test)
polySVM(X_train, y_train, X_test, y_test)
コード例 #5
0
ファイル: test.py プロジェクト: jiadonglee/PILAE
import sys
import os

workpath = os.path.abspath("..")
sys.path.append(workpath)
from src.pilae import PILAE
import src.tools as tools
import src.Hog as hg
from sklearn import preprocessing
import numpy as np
import time
import multiprocessing
import csv

DATASET = 'mnist'
(X_train, y_train), (_, _) = tools.load_npz("../dataset/" + DATASET + "/" +
                                            DATASET + ".npz")
X_train = X_train.reshape(-1, 784).astype('float64') / 255
# X_test = X_test.reshape(-1, 784).astype('float64')/255

X_train = X_train[0:500, :]
y_train = y_train[0:500]

# f = np.load("../dataset/PMPS/subbands.npz")
# X_train = f['X']
# y_train = f['y']

ae_k_list = [0.78, 0.85, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
pil_k = 0.03
alpha_list = [0.8, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9]
pil_p = [400, 300]
ae_layers = 10
コード例 #6
0
ファイル: IPILAE.py プロジェクト: sibofeng/PILAE
        switch = {
            'sig': lambda x, p: 1 / (1 + np.exp(-p * x)),
            'sin': lambda x, p: np.sin(x),
            'relu': relu,
            'srelu': lambda x, p: np.log(1 + np.exp(x)),
            'tanh': lambda x, p: np.tanh(p * x),
        }
        fun = switch.get(func)
        return fun(tempH, p)


if __name__ == '__main__':

    batchsize = 2000
    HiddernNeurons = [600]
    k = [1.2]

    # mnist data++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    (X_train, y_train), (X_test,
                         y_test) = tools.load_npz("../dataset/mnist/mnist.npz")
    X_train = X_train.reshape(-1, 784).astype('float32') / 255
    X_test = X_test.reshape(-1, 784).astype('float32') / 255

    t1 = time.time()
    pilae = PILAE(HiddernNeurons, batchsize, k, actFun='sig')
    pilae.fit(X_train)
    pilae.predict(X_train, X_test, y_train, y_test)
    t2 = time.time()
    print("time cost of training PILAE: %.4f" % (t2 - t1))