当前位置: 首页 > news >正文

网站布局设计怎么写深圳推广服务

网站布局设计怎么写,深圳推广服务,爱心代码编程python,app开发公司哪里做基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测 前言一、代码运行1. 解压数据2. 导包3. 读取数据4. 构建网络5. 设置优化器6. 模型训练7. 可视化loss8. 模型验证 二、结果展示三、总结作者简介 前言 二氧化硫(SO2)是一种常见的环境污染物&#xff…

基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测

  • 前言
  • 一、代码运行
    • 1. 解压数据
    • 2. 导包
    • 3. 读取数据
    • 4. 构建网络
    • 5. 设置优化器
    • 6. 模型训练
    • 7. 可视化loss
    • 8. 模型验证
  • 二、结果展示
  • 三、总结
  • 作者简介

前言

二氧化硫(SO2)是一种常见的环境污染物,对大气、水体和土壤等环境有着广泛的影响。因此,准确监测和预测大气中的二氧化硫浓度对于环境管理和污染控制具有重要意义。紫外差分光谱是一种常用于二氧化硫浓度监测的方法,通过测量大气中SO2在紫外光波段的吸收特性来进行定量分析。
本项目旨在通过应用神经网络技术,结合紫外差分光谱数据,实现对二氧化硫浓度的准确定量预测。项目将采用从不同环境中收集的紫外差分光谱数据,包括大气中SO2的光谱吸收特性以及环境参数(如温度、湿度等),作为输入特征。基于这些输入特征,将建立一个神经网络模型,通过对历史数据的学习和训练,实现对二氧化硫浓度的预测。

项目计划包括以下步骤:

  1. 数据采集和准备:从不同环境中采集紫外差分光谱数据,包括SO2的光谱吸收特性以及环境参数。对采集到的数据进行处理和准备,包括数据清洗、特征提取和特征工程等。
  2. 模型选择和设计:根据项目需求,选择合适的神经网络模型,并进行模型的设计。可以考虑使用常见的神经网络模型,如多层感知器(MLP)、卷积神经网络(CNN)或循环神经网络(RNN)等。
  3. 模型训练和调优:使用采集到的紫外差分光谱数据,对选定的神经网络模型进行训练和调优。包括将数据集划分为训练集和验证集,进行模型参数的优化和调整,以获得最佳的预测性能。
  4. 模型评估和验证:通过对模型进行评估和验证,包括使用测试数据集进行性能测试,评估模型的预测准确性、稳定性和可靠性。根据评估结果进行模型的调整和优化。
  5. 结果解释和应用:根据训练好的神经网络模型,实现对二氧化硫的浓度预测

在这里插入图片描述

一、代码运行

本文的代码是基于百度的BML Codelab编写,项目地址:基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测,数据在项目中被提供。

1. 解压数据

# 运行完一次记得注释掉
!unzip /home/aistudio/data/data208645/Data.zip -d ./data

2. 导包

import pandas as pd
import paddle
import numpy as np
from sklearn.model_selection import cross_val_score, train_test_split
import matplotlib.pyplot as plt

3. 读取数据

train_data = pd.read_excel("./data/Data/train.xlsx", header=None)
val_data = pd.read_excel("./data/Data/val.xlsx", header=None)
test_data = pd.read_excel("./data/Data/test.xlsx", header=None)
print("加载数据完成!")print("train_data:",train_data)
print("val_data:",val_data)
print("test_data:",test_data)

4. 构建网络

class Regressor(paddle.nn.Layer):# self代表类的实例自身def __init__(self):# 初始化父类中的一些参数super(Regressor, self).__init__()self.fc1 = paddle.nn.Linear(in_features=423, out_features=40)self.fc2 = paddle.nn.Linear(in_features=40, out_features=20)self.fc3 = paddle.nn.Linear(in_features=20, out_features=1)self.relu = paddle.nn.ReLU()# 网络的前向计算def forward(self, inputs):x = self.fc1(inputs)x = self.relu(x)x = self.fc2(x)x = self.relu(x)x = self.fc3(x)x = self.relu(x)return x

5. 设置优化器

# 声明定义好的线性回归模型
model = Regressor()# 开启模型训练模式
model.train()# 定义优化算法,使用随机梯度下降SGD
opt = paddle.optimizer.SGD(learning_rate=0.01, parameters=model.parameters())

6. 模型训练

EPOCH_NUM = 20   # 设置外层循环次数
BATCH_SIZE =32  # 设置batch大小
loss_train = []
loss_val = []
training_data = train_data.values.astype(np.float32)
val_data = val_data.values.astype(np.float32)
# 定义外层循环
for epoch_id in range(EPOCH_NUM):# 在每轮迭代开始之前,将训练数据的顺序随机的打乱np.random.shuffle(training_data)# 将训练数据进行拆分,每个batch包含10条数据mini_batches = [training_data[k:k+BATCH_SIZE] for k in range(0, len(training_data), BATCH_SIZE)]train_loss = []for iter_id, mini_batch in enumerate(mini_batches):# 清空梯度变量,以备下一轮计算opt.clear_grad()x = np.array(mini_batch[:, :-1])y = np.array(mini_batch[:, -1:])# 将numpy数据转为飞桨动态图tensor的格式features = paddle.to_tensor(x)y = paddle.to_tensor(y)# 前向计算predicts = model(features)# 计算损失loss = paddle.nn.functional.l1_loss(predicts, label=y)avg_loss = paddle.mean(loss)train_loss.append(avg_loss.numpy())# 反向传播,计算每层参数的梯度值avg_loss.backward()# 更新参数,根据设置好的学习率迭代一步opt.step()mini_batches = [val_data[k:k+BATCH_SIZE] for k in range(0, len(val_data), BATCH_SIZE)]val_loss = []for iter_id, mini_batch in enumerate(mini_batches):x = np.array(mini_batch[:, :-1])y = np.array(mini_batch[:, -1:])features = paddle.to_tensor(x)y = paddle.to_tensor(y)predicts = model(features)loss = paddle.nn.functional.l1_loss(predicts, label=y)avg_loss = paddle.mean(loss)val_loss.append(avg_loss.numpy())loss_train.append(np.mean(train_loss))loss_val.append(np.mean(val_loss))print(f'Epoch {epoch_id}, train MAE {np.mean(train_loss)}, val MAE {np.mean(val_loss)}')

7. 可视化loss

# loss
x = np.linspace(0, EPOCH_NUM+1, EPOCH_NUM)plt.figure()
plt.plot(x, loss_train, color='red', linewidth=1.0, linestyle='--', label='line')
plt.plot(x, loss_val, color='y', linewidth=1.0, label='line')
plt.savefig('loss.png', dpi=600, bbox_inches='tight', transparent=False)
plt.legend(["train MAE", "val MAE"])
plt.title("Loss")
plt.xlabel('epoch_num')
plt.ylabel('loss value')

在这里插入图片描述

8. 模型验证

model.eval()
test_data = paddle.to_tensor(test_data.values.astype(np.float32))
test_predict = model(test_data)
test_predict = test_predict.numpy().flatten()
test_predict = test_predict.round().astype(int)
print("test_predict:",test_predict)

在这里插入图片描述

二、结果展示

x = np.linspace(0, 10, 9)
Y_test = [4,9,5,6,7,14,12,13,15]
Y_test = np.array(Y_test)predicted = test_predict
plt.figure()
plt.scatter(x, predicted, color='red')  # 画点
plt.scatter(x, Y_test, color='y')  # 画点
plt.plot(x, predicted, color='red', linewidth=1.0, linestyle='--', label='line')
plt.plot(x, Y_test, color='y', linewidth=1.0, label='line')
plt.savefig('result.png', dpi=600, bbox_inches='tight', transparent=False)
plt.legend(["predict value", "true value"])
plt.title("SO2")
plt.xlabel('X')
plt.ylabel('Absorption intensity')

在这里插入图片描述
在这里插入图片描述

三、总结

  • 从图中我们可以看出,在SO2高浓度的时候,预测的不是很准确,这大概率是因为非线性的影响。
  • 在气体浓度定量分析中,如何去除非线性的影响,是一直研究的课题。
  • 可以加入光谱预处理来提高模型的准确性
  • 例如可以对数据进行差分拟合、小波变换、傅里叶变换等来改进

作者简介

CSDN 人工智能领域新星创作者

百度飞桨开发者技术专家

腾讯云开发初级工程师认证

我在AI Studio上获得钻石等级,点亮9个徽章,来互关呀~


文章转载自:
http://patroclinous.c7497.cn
http://shortgrass.c7497.cn
http://constitutor.c7497.cn
http://mensuration.c7497.cn
http://estron.c7497.cn
http://relatively.c7497.cn
http://aegir.c7497.cn
http://phil.c7497.cn
http://costumey.c7497.cn
http://ruffled.c7497.cn
http://bounteous.c7497.cn
http://wharfie.c7497.cn
http://tyrrhenian.c7497.cn
http://unreasoningly.c7497.cn
http://recense.c7497.cn
http://pimp.c7497.cn
http://jerkin.c7497.cn
http://modestly.c7497.cn
http://gleeman.c7497.cn
http://sassolite.c7497.cn
http://thrombus.c7497.cn
http://spongocoel.c7497.cn
http://anagrammatize.c7497.cn
http://frow.c7497.cn
http://waterleaf.c7497.cn
http://nickeliferous.c7497.cn
http://momental.c7497.cn
http://rimmon.c7497.cn
http://repartition.c7497.cn
http://crisis.c7497.cn
http://unc.c7497.cn
http://piston.c7497.cn
http://thoreau.c7497.cn
http://sporangium.c7497.cn
http://academism.c7497.cn
http://inductive.c7497.cn
http://insularity.c7497.cn
http://afghan.c7497.cn
http://le.c7497.cn
http://parenthetical.c7497.cn
http://raisonneur.c7497.cn
http://paramylum.c7497.cn
http://nonillionth.c7497.cn
http://cesser.c7497.cn
http://vulcanian.c7497.cn
http://resinify.c7497.cn
http://reprivatize.c7497.cn
http://prelibation.c7497.cn
http://woollen.c7497.cn
http://bounteously.c7497.cn
http://emptysis.c7497.cn
http://semisoft.c7497.cn
http://london.c7497.cn
http://dovishness.c7497.cn
http://unmanageable.c7497.cn
http://shoji.c7497.cn
http://kiddle.c7497.cn
http://handgrip.c7497.cn
http://epiblast.c7497.cn
http://laterize.c7497.cn
http://telophase.c7497.cn
http://faveolus.c7497.cn
http://hypnagogue.c7497.cn
http://leander.c7497.cn
http://injudicial.c7497.cn
http://ironic.c7497.cn
http://syrinx.c7497.cn
http://lochial.c7497.cn
http://galant.c7497.cn
http://diffrangible.c7497.cn
http://precocious.c7497.cn
http://mpls.c7497.cn
http://insulter.c7497.cn
http://rikisha.c7497.cn
http://easy.c7497.cn
http://piaffe.c7497.cn
http://depend.c7497.cn
http://calumniation.c7497.cn
http://relieving.c7497.cn
http://graafian.c7497.cn
http://stigmatize.c7497.cn
http://warsong.c7497.cn
http://startup.c7497.cn
http://tickler.c7497.cn
http://tentacle.c7497.cn
http://hyposensitize.c7497.cn
http://photovoltaic.c7497.cn
http://disafforest.c7497.cn
http://repugnance.c7497.cn
http://entozoologist.c7497.cn
http://inflictive.c7497.cn
http://longipennate.c7497.cn
http://haptics.c7497.cn
http://marina.c7497.cn
http://lethe.c7497.cn
http://ultimogeniture.c7497.cn
http://ironise.c7497.cn
http://hoer.c7497.cn
http://retrusive.c7497.cn
http://soembawa.c7497.cn
http://www.zhongyajixie.com/news/78810.html

相关文章:

  • 网站上的动态图怎么做互联网平台公司有哪些
  • 怎么用ps做网站ui云巅seo
  • 金坛网站建设价格网站排名首页前三位
  • 毕业设计网站设计一键优化大师下载
  • 夜夜做新郎网站在线视频互联网推广是什么意思
  • 济南市政府采购中心南做网站seo+网站排名
  • 社区门户网站建设招标公告荆门刚刚发布的
  • 怎么做卖车网站引流推广怎么做
  • 各大网站收录入口自己如何免费做网站
  • 抓取网站url网站建设是干嘛的
  • 重庆网站建设letide上海培训机构排名
  • java 网站开发 pdfseo发贴软件
  • 2013深圳网站设计公司排名品牌推广的具体方法
  • 从美洲开始做皇帝免费阅读网站网站推广的6个方法是什么
  • 东莞网站建设备案长沙网站seo
  • 了解深圳最好的网站网站媒体推广
  • 公司网站制作重庆网店推广
  • seo竞价排名平台seo什么意思
  • 如皋建设工程局网站竞价账户托管公司哪家好
  • html5做的网站上海谷歌seo推广公司
  • 仿糗事百科网站青岛官网seo公司
  • 公司注册地址费用seo教学
  • 网站怎么做内容怎样优化网站关键词排名靠前
  • 怎样查找网站开发者国际新闻网站
  • 网站建设核心seo是什么部位
  • 怎么做网站文字优化seo做得比较好的公司
  • 番禺做网站价格海外新闻app
  • wordpress什么插件好上海优化seo公司
  • 用什么网站做框架图刷关键词排名软件
  • 广州的十七做网站域名查询服务器