Exemple #1
0
def main(config, fileName='data'):
    testFile(fileName)
    Start = time.time()
    msTrain = mnist()
    msTest = mnist(kind="t10k")
    # Extract Mnist data
    trainImg = msTrain.images
    trainLabel = msTrain.oneHotLabels
    testImg = msTest.images
    testLabel = msTest.oneHotLabels
    # Training data size
    trainSize = trainImg.shape[0]
    # Training batch size
    batchSize = config['batchSize']
    # Number of iterations
    itersNum = config['itersNum']
    # Learning rate
    learningRate = config['learningRate']
    # Iter per epoch
    iterPerEpoch = max((trainSize / batchSize), 1)
    # Initialize bp
    network = bpNet(hiddenLayersSize=config['hiddenLayersSize'])
    # start training model
    trainA = []
    testA = []
    print("iterPerEpoch:", iterPerEpoch)
    #print("Start Model trianing...")
    for index in range(itersNum):
        if (index % iterPerEpoch == 0):
            trainAcc = network.accuracy(trainImg, trainLabel)
            testAcc = network.accuracy(testImg, testLabel)
            trainA.append(trainAcc)
            testA.append(testAcc)
            print("Train Acc: %.5f  Test Acc: %.5f" % (trainAcc, testAcc))
        # Get randomly selected index
        trainIndexs = np.random.choice(trainSize, batchSize)
        imgs = trainImg[trainIndexs]
        labels = trainLabel[trainIndexs]
        network.update(imgs, labels, lr=learningRate)

    End = time.time()
    print("BP Time Consuming:%.2fs" % (End - Start))

    # Plot
    g = [trainA, testA]
    colors = ["blue", "orange"]
    labels = ["trainAcc", "testAcc"]
    plt.figure(figsize=(6, 6))
    for i in range(len(g)):
        plt.plot(g[i], colors[i], label=labels[i])
        plt.legend(loc=4)
Exemple #2
0
def main(config, fileName='data'):
    testFile(fileName)
    Start = time.time()
    msTrain = mnist()
    msTest = mnist(kind="t10k")
    # 提取mnist数据
    trainImg = msTrain.images
    trainLabel = msTrain.oneHotLabels
    testImg = msTest.images
    testLabel = msTest.oneHotLabels
    # 训练数据大小
    trainSize = trainImg.shape[0]
    # 训练批大小
    batchSize = config['batchSize']
    # 迭代次数
    itersNum = config['itersNum']
    # 学习率
    learningRate = config['learningRate']
    # 轮数
    iterPerEpoch = max((trainSize / batchSize), 1)
    # bp初始化
    network = bpNet(hiddenLayersSize=config['hiddenLayersSize'])
    #开始训练模型
    trainA = []
    testA = []
    print("iterPerEpoch:", iterPerEpoch)
    #print("Start Model trianing...")
    for index in range(itersNum):
        if (index % iterPerEpoch == 0):
            trainAcc = network.accuracy(trainImg, trainLabel)
            testAcc = network.accuracy(testImg, testLabel)
            trainA.append(trainAcc)
            testA.append(testAcc)
            print("训练精度: %.5f  测试精度: %.5f" % (trainAcc, testAcc))
        # 获取随机选取的索引
        trainIndexs = np.random.choice(trainSize, batchSize)
        imgs = trainImg[trainIndexs]
        labels = trainLabel[trainIndexs]
        network.update(imgs, labels, lr=learningRate)

    End = time.time()
    print("BP Time Consuming:%.2f秒" % (End - Start))

    ##作图部分
    g = [trainA, testA]
    colors = ["blue", "orange"]
    labels = ["trainAcc", "testAcc"]
    plt.figure(figsize=(6, 6))
    for i in range(len(g)):
        plt.plot(g[i], colors[i], label=labels[i])
        plt.legend(loc=4)
Exemple #3
0
def main():

    warnings.filterwarnings("ignore")
    print("Start LR Model training...")
    msLog = mnist()
    msTestLog = mnist(kind="t10k")
    Xtrain = msLog.images
    Ytrain = msLog.labels
    Xtest = msTestLog.images
    Ytest = msTestLog.labels

    print("Default LR Model loading...")
    start = time.time()
    model = LogisticRegression(solver="liblinear")
    model.fit(Xtrain, Ytrain)
    y_pred = model.predict(Xtest)
    sum = 0.0
    for i in range(10000):
        if (y_pred[i] == Ytest[i]):
            sum += 1
    print('Logistics Test set score: %f' % (sum / 10000.))
    end = time.time()
    print("Logit Time consuming:%.2fs" % (end - start))  #89.78s
Exemple #4
0
def main():
    warnings.filterwarnings("ignore")
    print("Start SVM Model loading...")
    msSVM = mnist()
    msTestSVM = mnist(kind="t10k")
    Xtrain = msSVM.images
    Ytrain = msSVM.labels
    Xtest = msTestSVM.images
    Ytest = msTestSVM.labels

    # Initialize SVM
    print("Default SVM Model loading...")
    start = time.time()
    clf = svm.SVC()
    clf.fit(Xtrain, Ytrain)
    predict = clf.predict(Xtest)
    score = metrics.accuracy_score(Ytest, predict)
    # Test Acc
    report = metrics.accuracy_score(Ytest, predict)
    end = time.time()
    print("SVM Time consuming:%.2f秒" % (end - start))
    print(score)
    print(report)
def main():
    
    warnings.filterwarnings("ignore")
    print("Start RandomForest Model training...")
    msLog =mnist()
    msTestLog = mnist(kind="t10k")
    Xtrain = msLog.images
    Ytrain = msLog.labels
    Xtest = msTestLog.images
    Ytest = msTestLog.labels
    # n_estimators=10,max_features=math.sqrt(n_features), max_depth=None,min_samples_split=2, bootstrap=True
    print("Default RandomForest model loading...")
    start = time.time()
    clf = RandomForestClassifier()
    clf.fit(Xtrain,Ytrain)
    predict = clf.predict(Xtest)
    score = metrics.accuracy_score(Ytest,predict)
    # Test Accuracy
    report = metrics.accuracy_score(Ytest,predict)
    print(score)
    print(report)
    end = time.time()
    print("RF Time consuming:%.2f秒"%(end-start))