有两个相对的问题。
所有2个问题都有多个答案。
question1: please mark the brands you know below
a)bland1 b)bland2 c)bland3 d)bland4
如果用户标记a)和c),则结果数组为[1,0,1,0]
question2: please mark the brands you have bought below
a)bland1 c)bland3
如果用户标记为a),则结果数组为[1,Nan,0,Nan]
(因为在第1题中未选择bland2和bland 4,所以不会显示b和d)。
所以最后一个数组是
[[1,0,1,0],
[1,Nan,0,Nan]]
我想通过预测来生成1000条记录,我需要生成的数据服从规则,但是结果很差,acc仅为0.25
_m = Sequential()
_m.add(Dense(5000,activation='relu',input_shape=(4,)),)
_m.add(Dense(500,activation='relu'))
_m.add(Dense(len(outs),activation='sigmoid'))
_m.compile(loss='binary_crossentropy',optimizer='adam',metrics=
['accuracy'])
_m.fit(x_train,y_train, batch_size=100,epochs=1000,verbose=0)
score = _m.evaluate(x_test,y_test,100)
请帮助改进它,我应该使用lstm
吗?
答案 0 :(得分:0)
放入Nan
没有任何意义。您应该将其替换为0。您可能会错误地使用outs
。我建议将outs设计为以下两个问题的组合:即知道
那么出局应该是[2 ^ a1 + a2、2 ^ b1 + b2、2 ^ c1 + c2、2 ^ d1 + d2]。
换句话说,您的模型将生成三元分类而不是二进制。
是否使用LSTM取决于您的输入:是时间序列数据,还是可以将其视为时间序列。