采用LSTM,GRU和BiLSTM的单个神经网络和集成神经网络用于火灾预测

基于深度学习(LSTM,GRU和BiLSTM)的火灾预测

基于深度学习的火灾预测方法性能的关键在于火灾预测模型的设计。根据火灾发生时的环境信息参数以及神经网络结构对火灾预测性能的影响,设计了基于自适应集成神经网络的火灾预测系统。
火灾预测模型的结构分为信息层、特征层和决策层,依次完成对火灾信息的预处理、特征提取和决策输出功能。在特征层中,采用LSTM,GRU和BiLSTM神经网络对火灾环境的温度(T)、一氧化碳浓度(CO)、烟雾浓度(SMK)火灾数据进行融合预测。
采用国家标准试验火和其他火灾数据集进行预测
预测结果如下:
采用LSTM,GRU和BiLSTM的单个神经网络和集成神经网络用于火灾预测_第1张图片
采用LSTM,GRU和BiLSTM的单个神经网络和集成神经网络用于火灾预测_第2张图片

**
火灾预测部分代码如下(详细代码可下方咨询):

1.数据获取
def create_dataset(dataset):
    dataX, dataY = [], []
    for i in range(len(dataset) - look_back - 1):
        x = dataset[i: i + look_back, 0]
        dataX.append(x)
        y = dataset[i + look_back, 0]
        dataY.append(y)
        print('X: %s, Y: %s' % (x, y))
    return np.array(dataX), np.array(dataY)

2.模型建立
def create_model1():
    model = Sequential()
    model.add(LSTM(units=256,input_shape=(None,1),return_sequences=True))
    model.add(LSTM(256))
    model.add(Dense(units=1))
    model.add(Activation('sigmoid'))
    model.compile(loss='mse',optimizer='adam')
    history = model.fit(X_train,  y_train, epochs=3, batch_size=20, validation_data=(X_validation,y_validation))
    plt.plot(history.history['loss'],'r', label='train')
    plt.plot(history.history['val_loss'],'g', label='test')
    plt.xlabel('Training steps')
    plt.ylabel('Loss')
    plt.legend()
    plt.show()
    return model
3.火灾预测及结果展示
predict_validation_plot = np.empty_like(dataset)
predict_validation_plot[:, :] = np.nan
predict_validation_plot[len(predict_train) + look_back * 2 + 1:len(dataset) - 1, :] = predict_validation

dataset = scaler.inverse_transform(dataset)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(dataset, color='green',label='数据集')
plt.plot(predict_train_plot, color='blue',linestyle=':',label='训练集')
plt.plot(predict_validation_plot, color='red',linestyle='--',marker='+',label='测试集')
plt.xlabel('数据')
plt.ylabel('温度')
plt.legend(loc='upper left')
plt.show()`


你可能感兴趣的:(火灾预测,人工智能,神经网络,lstm,gru)