所以我使用Keras创建了一个预测模型,其精度约为60%-65%。
因此,我们传递的数据为xtst
,xtrn
,ytst
,ytrn
至train_test_split
,test_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)
答案 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} }