我正在尝试训练一个系统来查看一些数据点并预测冲浪休息时的冲浪者数量。我已经标记了过去 2 个月的模式,并且我有 1500 多个训练示例,白天每 15 分钟进行一次观察(不包括夜间)
我的数据如下所示(*kooks = surfers):
*我在处理之前从输入矩阵中删除月份特征。我也做了preprocessing.MinMaxScaler()练习。
model = Sequential()
model.add(Dense(64, input_dim=6, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.25))
model.add(Dense(64, activation='relu'))
model.add(Dense(1, activation='relu'))
model.compile(optimizer='adam',loss='mse', metrics=['accuracy'])
early_stopping_monitor = EarlyStopping(patience=10)
history = model.fit(X, y, validation_split=0.33, epochs=200, batch_size=15, verbose=0, callbacks=[early_stopping_monitor])
我得到的结果非常糟糕:
Test score: 0.015
Test accuracy: 0.12
我尝试了多个优化器和多个激活函数,但还没有找到令人满意的模型。
我有几个怀疑:
- 数据并不是真正可预测的,因为有时许多特征都相同(参见第 0 行和第 1 行),系统变得混乱,但预期的输出完全不同。
- 模型的设计不太适合(我真的不知道如何设计隐藏层维度)
- 每一层(包括输出层)的损失函数、优化器和/或激活函数都不太适合。
我做错了什么还是这只是野兽的本性?有什么想法/建议吗?


