【发布时间】:2018-03-05 19:39:58
【问题描述】:
我运行一个简单的神经网络进行训练。输入是 12 个特征,输出是 25 个。我使用 tflearn 运行代码,但是如屏幕截图所示,为什么最终的准确率不在 0.68 左右?
我的代码是:
#Set network variables and hyperparameters
nIn = 12
nHidden = 200
nOut = 25
alpha = 0.01
nEpochs = 500
testSplit = 0.2
batchSize = 32
input_layer = tflearn.input_data(shape=[None, nIn])
layer2 = tflearn.fully_connected(input_layer, nHidden, activation="relu")
out = tflearn.fully_connected(layer2, nOut, activation="softmax")
#sgd = tflearn.optimizers.SGD(learning_rate=0.001, lr_decay=0.0, decay_step=1000, staircase=False, use_locking=False)
network = tflearn.regression(out, optimizer="adam", loss="categorical_crossentropy",batch_size=batchSize)
model = tflearn.DNN(network)
#Number of data points used for testing
num_test = int(testSplit * len(data))
#Split data into train and test
trainX = dataX[:-num_test]
testX = dataX[-num_test:]
trainY = dataY[:-num_test]
testY = dataY[-num_test:]
model.fit(trainX, trainY, n_epoch=nEpochs, show_metric=True)
print("Final Accuracy:", model.evaluate(testX, testY))
任何帮助将不胜感激。
【问题讨论】: