我是深度学习的新手。我有一个尺寸为34的X,这是一些库存技术指标数据。 Y是标签,它是binary(1,-1)表示股票是上升还是下降趋势。这是我的代码。
import pandas as pd
import numpy as np
data = pd.read_csv('data/data_week.csv')
data.dropna(inplace=True)
x = data.loc[:, 'bbands_upperband':'turn_std_5']
y = data['label']
from keras.models import Sequential
from keras.layers import Dense, Activation
model = Sequential()
model.add(Dense(512, activation='relu', input_dim=34))
model.add(Dense(200, activation='relu'))
model.add(Dense(200, activation='relu'))
model.add(Dense(200, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dense(1, activation='relu'))
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuracy'])
model.fit(x, y, epochs=2, batch_size=200)
231200/1041021 [=====>........................] - ETA: 59s - loss: 0.7098 - acc: 0.0086
232000/1041021 [=====>........................] - ETA: 59s - loss: 0.7087 - acc: 0.0086
但是,准确度小于1%。我认为这一定有问题。 如果您知道,请告诉我,非常感谢!
答案 0 :(得分:4)
对于二进制分类模型,应在最后一个致密层中使用S型激活函数
model.add(Dense(1, activation='sigmoid'))
另外,您的课程必须是(0,1)而不是(-1,1)