深度学习DNN构建简单回归模型

(1)构建回归神经网络模型

inputs = Input(shape=(size,), dtype='float32')
dropout = Dropout(0)(inputs)
ouput = Dense(512, activation='relu')(dropout)
dropout = Dropout(0.15)(ouput)
ouput = Dense(256, activation='relu')(dropout)
ouputs = Dense(1)(ouput)
model = Model(input=inputs, output=ouputs)

(2)编译神经网络
Adam优化器适合稀疏矩阵拟合

optimizer = Adam(lr=0.002, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
model.compile(loss='mae', metrics=['mape', 'mae', 'acc'], optimizer=optimizer)

(3)训练神经网络

tensor_board = TensorBoard(log_dir='./logs', histogram_freq=0, write_graph=True, write_images=False, embeddings_freq=0,
                    embeddings_layer_names=None, embeddings_metadata=None)
model.fit(np.array(features), labels, batch_size=2000, epochs=1000, validation_data=(np.array(eval_features), eval_labels), callbacks=[tensor_board])

命令行执行:tensorboard –logdir=./logs
在浏览器访问:http://127.0.0.1:6006/

(4)验证集验证模型效果

cost = model.evaluate(np.array(eval_features), eval_labels, batch_size=100)
print('evaluate cost: %s' % str(cost))

(5)保存&加载模型

#save model
model.save(model_save_file)
#load model
model = load_model(model_save_file)

(6)预测测试数据

preds = model.predict(np.array(test_features))

你可能感兴趣的:(算法学习)