ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【Python案例实战】水质安全分析及建模猜测 [打印本页]

作者: 我可以不吃啊    时间: 2024-7-17 15:10
标题: 【Python案例实战】水质安全分析及建模猜测
一、引言

1.水资源的紧张性

水是生命之源,是人类生存和发展的根本。它是生态体系中不可或缺的构成部门,对于维系地球上的生命、农业、工业、城市发展等方面都具有至关紧张的作用。
2.水质安全与人类康健的关系

水质安全直接关系到人类的康健和生存。水中的污染物和有害物质可能对人体造成严峻的康健危害,如肠道疾病、皮肤疾病、癌症等。因此,确保水质安满是保障人类康健的紧张前提。
3.建模猜测在水质安全分析中的必要性

为了应对水质安全面临的挑衅,必要采取科学的方法进行水质监测和分析。而建模猜测作为一种紧张的分析工具,可以帮助我们更好地理解水质变化的规律和趋势,猜测未来的水质状况,为水质管理和掩护提供科学依据。通过建模猜测,可以提前预警可能出现的污染事件,实时采取应对措施,保障水质安全。因此,建模猜测在水质安全分析中具有不可替换的作用。
二、水质安全分析

1.水质尺度与指标

a. 天下卫生构造(WHO)水质尺度
天下卫生构造(WHO)订定了一套全球通用的水质尺度,以确保人类和生态体系康健。这些尺度包括对各种污染物的最大允许浓度,如重金属、有害有机物、细菌、病毒等。
b. 各国水质尺度与法规
各国根据自身实际情况和需求,订定了本身的水质尺度与法规。这些尺度通常会参考或采取WHO的尺度,但也可能根据本国的特定环境和条件进行调解。
c. 特定污染物指标
除了上述通用指标外,针对特定环境和用途,还可能有一些特定的污染物指标。例如,针对农业灌溉的水质,可能更加关注农药残留和盐分等指标;而针对工业用水,可能更加关注pH值、硬度、悬浮物等指标。
2. 水质检测方法

a. 物理检测法
物理检测法主要通过测量水的物理性质来评估水质。例如,浊度、色度、温度、pH值等都可以通过物理方法测量。
b. 化学检测法
化学检测法涉及使用化学试剂和仪器来测量水中的化学物质。这种方法可以检测出更多的污染物,尤其是那些不能通过物理方法检测的物质。
c. 生物检测法
生物检测法利用生物体的反应来评估水质。例如,通过观察生物的生长、繁殖或殒命情况,可以判断水质的好坏。这种方法通常用于评估水体的综合质量。
3. 水质污染源分析

a. 点源污染
点源污染指的是具有明确排放源的污染,如工业废水、城市污水等。这类污染源通常具有较大的排放量,且污染物种类较为单一。
b. 面源污染
面源污染指的是没有固定排放源的污染,如农业排水、雨水冲刷等。这类污染源排放的污染物种类多、数量大,且难以控制。
c. 移动源污染
移动源污染主要指交通工具排放的废气和废水等。这类污染源具有活动性大、排放不规律等特点,对水质安全造成一定威胁。
4.水质安全风险评估

a. 袒露评估
袒露评估是指评估人们通过饮水、食物、呼吸等途径打仗到的污染物量。通过相识袒露量,可以判断人体受到的康健风险。
b. 毒性评估
毒性评估是指对污染物对人体和生态体系的危害水平进行评估。通过对污染物进行毒性实行,可以相识其对人体和生态体系的潜在危害。
c. 风险特征形貌
风险特征形貌是对袒露评估和毒性评估的综合分析,以判断某一污染物对人体和生态体系的风险水平。根据风险水平的高低,可以订定相应的管理措施和预警方案。
三、项目准备

1.电脑配置

本机体系为Window10s,运行软件使用JupyterNote
    库名   版本号         pandas   1.5.3       matplotlib   3.7.2       seaborn   2.1.0   2.数据集形貌

本数据集是一个综合性的水质分析数据集,由7999条模拟数据记录构成。
数据集包括多种化学物质的浓度测量值,如铝、氨、砷、钡、镉等,以及每种化学物质的安全阈值。
这些化学物质在实际水源中的浓度通常由多种因素决定,包括环境污染、工业排放、天然矿物质含量等。
数据会集包括一列“是否安全”分类变量,用于指示水样是否满足人类消费的安全尺度。这个字段是基于各化学物质浓度与其对应安全阈值的比力得出的。
本数据为模拟数据集,但在计划上参考了实际情况,通过这个数据集,你可以探索数据预处理、特征工程、模型构建和评估等多个方面。这些探索分析结论也可以为研究水质安全与公共卫生之间关系提供有代价的参考信息。
3.问题形貌

猜测水是否安全(二元分类问题)
使用呆板学习算法(如逻辑回归、支持向量机、随机森林)来猜测水是否安全。
对数据集进行训练-测试分割,使用交叉验证来评估模型性能。
分析哪些参数对水质安全性的猜测最为紧张。
探索化学物质含量与水质安全性之间的关联(相干性分析)
进行统计分析,如皮尔逊或斯皮尔曼相干性测试,来评估不同化学物质含量与水质是否安全之间的关联性。
使用散点图和热图来可视化这些关系。
安全与不安全水样的特性(形貌性统计分析)
对安全和不安全的水样分别进行形貌性统计分析,包括平均值、中位数、尺度差等。
使用箱线图或小提琴图来比力不同化学物质在安全与不安全水样中的分布情况。
辨认潜在的伤害化学物质(非常值分析)
使用箱线图或其他可视化工具来辨认各化学物质中的非常值。
分析这些非常值是否与水质不安全有关。
四、数据准备

1.导入库

  1. import warnings
  2. warnings.filterwarnings("ignore")
  3. import numpy as np
  4. import pandas as pd
  5. import matplotlib.pyplot as plt
  6. import seaborn as sns
  7. from matplotlib import font_manager
  8. from sklearn.model_selection import train_test_split, cross_val_score
  9. from sklearn.preprocessing import StandardScaler
  10. from lazypredict.Supervised import LazyClassifier
  11. from imblearn.over_sampling import SMOTE
  12. ## 加载字体
  13. font_path = "dellarespira-regular.ttf"
  14. font_manager.fontManager.addfont(font_path)
  15. prop = font_manager.FontProperties(fname=font_path)
  16. ## 定义全局使用
  17. plt.rcParams['font.family'] = 'sans-serif'
  18. plt.rcParams['font.sans-serif'] = prop.get_name()
  19. plt.rcParams['axes.unicode_minus'] = False
复制代码
这段代码主要进行了一些初始化和配置工作,为后续的数据处理和可视化打下了根本。起首,导入了多个库,这些库提供了数据处理、可视化和呆板学习的功能。接着,通过warnings.filterwarnings(“ignore”)来忽略可能出现的告诫信息。然后,加载了一个自定义的字体文件,并将其设置为matplotlib的字体,以确保绘图中的文字能以指定的字体体现。最后,设置了matplotlib的全局字体参数,确保全部图形的字体都使用这个自定义字体。
2.数据读取及预处理

  1. #读取数据
  2. df = pd.read_csv("data/waterQuality.csv")
  3. df.drop_duplicates(inplace=True)
  4. # 查看数据信息
  5. items = [
  6.     [
  7.         col,
  8.         df[col].dtype,
  9.         df[col].isnull().sum(),
  10.     ] for col in df
  11. ]
  12. display(pd.DataFrame(data=items, columns=[
  13.     'Attributes',
  14.     'Data Type',
  15.     'Total Missing',
  16. ]))
复制代码

相称于info()函数,不外这样的好处是更加美观,可操作性更强(部门结果)
  1. def conver_type(value):
  2.     try:
  3.         res =
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4