神经网络的效果比RandomForest

时间:2018-10-30 11:16:02

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

我有一个分类问题,目标包含5个类,15个特征(全部连续) 并有100万用于培训数据,50万用于验证数据。 例如

shape of X_train = (1000000,15)
shape of X_validation = (500000,15)

首先,我使用了随机森林,该平均森林的平均得分为88%。准确性。

之后,我尝试了许多神经网络体系结构,最好的获得了平均80%的平均水平。训练和验证数据的准确性均低于随机森林。 (我对设计神经网络架构了解不多)

以下是我的NN架构中最好的之一。 (平均准确度约为80%)

model = Sequential()
model.add(Dense(1000, input_dim=15, activation='relu'))
model.add(Dropout(0.1))
model.add(Dense(900, activation='relu'))
model.add(Dropout(0.1))
model.add(Dense(800, activation='relu'))
model.add(Dropout(0.1))
model.add(Dense(700, activation='relu'))
model.add(Dropout(0.1))
model.add(Dense(600, activation='relu'))
model.add(Dense(5, activation='softmax'))#output layer
adadelta = Adadelta()
model.compile(loss='categorical_crossentropy', optimizer=adadelta, metrics=['accuracy'])

批量大小= 128,纪元= 100

我已阅读此question。答案指出,NN需要大量数据和一些调整。我认为我的数据大小足够好,并且我还尝试了更高的辍学率和L2调整,但仍然无法正常工作。 可能是什么问题?

这是我不具备领域知识的生物学数据,很抱歉无法解释。我绘制了如下的特征分布,所有特征都在0到3之间 enter image description here

0 个答案:

没有答案