深度学习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))
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)