使用Keras和tensorflow的预测模型

时间:2018-04-18 07:01:40

标签: python tensorflow neural-network deep-learning keras

所以我使用Keras创建了一个预测模型,其精度约为60%-65%。

因此,我们传递的数据为xtstxtrnytstytrntrain_test_splittest_split=.3等等,以便进行培训并监督监督数据。现在,在所有这些之后,我有了一组新的数据xnew

如何使用此数据预测此新数据的y值?

我应该在哪里提供此xnew数据,以便为我提供y

模特:

model = Sequential() 
model.add(Dense(10,input_shape=(4,),activation = 'relu') 
model.add(Dense(32,activation = 'relu')) 
model.add(Dense(101,activation = 'softmax')) 

from keras import optimizers 
model.compile(Adam(lr=.01),loss='sparse_categorical_crossentropy',metrics=['accuracy']) 
model.fit(x_train,y_train,batch_size=20,epochs=40,shuffle=True,verbose=2) 
pred = model.predict(x_test,batch_size = 10,verbose = 2) 
for i in pred: 
  print(i)

2 个答案:

答案 0 :(得分:0)

训练模型后,您可以使用model.save(your_model_name.h5)保存模型。然后,您可以使用model = load_model(your_model_name.h5)重新加载它。如果您已经制作了分类器,那么您可以使用model.predict(xnew)model.predict_classes(xnew)。我建议您同时查看Model API

答案 1 :(得分:0)

对于具有softmax输出图层的多类别分类器模型,您可以使用这些向量训练模型

x => [....]             #some vector
y => [0,0,0,1,0,0,0,...] 

其中y是一个向量,表示每个类别的概率

预测给定x y = model.predict(x)之类的[0.1, 0.05, 0.5, ....],你会得到一个像category = numpy.argmax(y)这样的概率向量,只需找到具有最大概率的索引,就可以使用{{1} }