我有以下代码:
from numpy import loadtxtimport numpy as npfrom keras.models import Sequentialfrom keras.layers import Densefrom time import sleepdataset = loadtxt('dataset.csv', delimiter=',')X = dataset[:,0:8]y = dataset[:,8]model = Sequential()model.add(Dense(192, input_dim=8, activation='relu'))model.add(Dense(128, activation='relu'))model.add(Dense(1, activation='sigmoid'))model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])model.fit(X, y, epochs=600, batch_size=10)_, accuracy = model.evaluate(X, y)print('Accuracy: %.2f' % (accuracy*100))
当我运行它时,训练过程没有问题,而且大多数时候我甚至能得到100%的准确率,但我遇到了从模型中获取预测的问题。正如您从以下训练数据样本中可以看到,前8个条目是输入,1或0是输出。
6,148,72,35,0,33.6,0.627,50,11,85,66,29,0,26.6,0.351,31,08,183,64,0,0,23.3,0.672,32,11,89,66,23,94,28.1,0.167,21,00,137,40,35,168,43.1,2.288,33,15,116,74,0,0,25.6,0.201,30,03,78,50,32,88,31.0,0.248,26,110,115,0,0,0,35.3,0.134,29,02,197,70,45,543,30.5,0.158,53,18,125,96,0,0,0.0,0.232,54,14,110,92,0,0,37.6,0.191,30,010,168,74,0,0,38.0,0.537,34,110,139,80,0,0,27.1,1.441,57,01,189,60,23,846,30.1,0.398,59,15,166,72,19,175,25.8,0.587,51,17,100,0,0,0,30.0,0.484,32,10,118,84,47,230,45.8,0.551,31,17,107,74,0,0,29.6,0.254,31,1
我想输入”6,148,72,35,0,33.6,0.627,50″到代码中,并让模型根据此数据给我一个输出。我该怎么做?
回答:
好的,反应很快,但我想起来我只需要在已经存在的列表外再定义一个列表,使其成为二维数组,这样Keras就可以进行预测了。