예제 #1
0
acc_rem = []  #初始化精度列表
for ii in range(10):
    #data.target = data.target + 1
    #stdsc = StandardScaler()
    #label_size = 0.5
    (train_data, iter_data,
     test_data) = elmUtils.splitDataWithIter(data.data, data.target,
                                             label_size, 0.3)
    iter_y = BvsbUtils.KNNClassifierResult(train_data[0], train_data[1],
                                           iter_data[0])
    bvsbc = BvsbClassifier(train_data[0],
                           train_data[1],
                           iter_data[0],
                           iter_y,
                           test_data[0],
                           test_data[1],
                           iterNum=0.1)
    bvsbc.createOSELM(n_hidden=1000, active_function="sigmoid")
    bvsbc.trainOSELMWithKNNButBvsb()
    print(f'OSELM-BVSB-KNN 正确率为{bvsbc.score(test_data[0], test_data[1])}')

    acc_temp = bvsbc.score(test_data[0], test_data[1])  #记录每次的精度
    acc_rem.append(acc_temp)  #将每次的精度存入列表
for i in acc_rem:
    print(f'{i*100:0.2f}', )  #打印每次精度
acc_mean = np.mean(acc_rem)  #求出平均精度
print("{:.2f}".format(acc_mean * 100))  #打印平均精度

print('---------------------以上为OSELM-BVSB-KNN(10次)算法----------------------'
      )  #运行程序
예제 #2
0
    data.data = StandardScaler().fit_transform(data.data)
    (train, iter, test) = elmUtils.splitDataWithIter(data.data, data.target,
                                                     0.2, 0.3)
    print(f'训练集大小为{train[1].size}')
    print(f'迭代训练集大小为{iter[1].size}')
    print(f'测试集大小为{test[1].size}')

    #tic = time.perf_counter_ns()
    bvsbc = BvsbClassifier(train[0],
                           train[1],
                           iter[0],
                           iter[1],
                           test[0],
                           test[1],
                           iterNum=0.1)
    bvsbc.createOSELM(n_hidden=1000)
    bvsbc.trainOSELMWithoutKNN()
    #toc = time.perf_counter_ns()

    print(f'OSELM-BVSB 正确率为{bvsbc.score(test[0], test[1])}')
    # print(f'OSELM-BVSB项目用时:{(toc - tic) / 1000 / 1000} ms')

    acc_temp = bvsbc.score(test[0], test[1])  #记录每次的精度
    acc_rem.append(acc_temp)  #将每次的精度存入列表
print("*****************************************************")
for i in acc_rem:
    print(f'{i*100:0.2f}', )  #打印每次精度
acc_mean = np.mean(acc_rem)  #求出平均精度
print("{:.2f}".format(acc_mean * 100))  #打印平均精度
print('---------------------以上为OSELM-BVSB算法----------------------')  #运行程序
예제 #3
0
파일: ELM-KNN.py 프로젝트: fproks/ELM-bvsb
data = datasets.load_digits()
stdc = StandardScaler()  # 均值归一化
label_size = 0.3

data.data = stdc.fit_transform(data.data / 16.0)
train, iter, test = elmUtils.splitDataWithIter(data.data, data.target,
                                               label_size, 0.2)

Y_iter = BvsbUtils.KNNClassifierResult(train[0], train[1], iter[0])
print(Y_iter.size)

tic = time.perf_counter_ns()
bvsbc = BvsbClassifier(train[0],
                       train[1],
                       iter[0],
                       Y_iter,
                       test[0],
                       test[1],
                       iterNum=0.1)
bvsbc.createELM(n_hidden=1000,
                activation_func="sigmoid",
                alpha=1.0,
                random_state=0)
bvsbc.X_test = test[0]
bvsbc.Y_test = test[1]
bvsbc.trainELMWithKNNButBvsb()
toc = time.perf_counter_ns()

print(bvsbc.score(test[0], test[1]))
print("ELM-BVSB 项目用时:%d" % ((toc - tic) / 1000 / 1000))
예제 #4
0
import numpy as np
from sklearn.preprocessing import StandardScaler
from  elm import elmUtils
import time

print("------------")
# digits = load_digits()
data = datasets.load_breast_cancer()

stdc = StandardScaler()  # 均值归一化


data.data = stdc.fit_transform(data.data / 16.0)

label_size=0.3

(train_data, iter_data, test_data) = elmUtils.splitDataWithIter(data.data,data.target, label_size, 0.2)

tic = time.perf_counter_ns()
bvsbc = BvsbClassifier(train_data[0], train_data[1], iter_data[0], iter_data[1], test_data[0], test_data[1],
                       iterNum=0.1)
bvsbc.createELM(n_hidden=1000, activation_func="tanh", alpha=1.0, random_state=0)
bvsbc.X_test = test_data[0]
bvsbc.Y_test = test_data[1]
bvsbc.trainELMWithoutKNN()
toc = time.perf_counter_ns()

print("+++++++++++++++++++")
print(bvsbc.score(test_data[0], test_data[1]))
print("ELM-BVSB 项目用时:%d" % ((toc - tic) / 1000 / 1000))