12.4

课程名称  机器学习B                 成绩            
班级   2205-3           姓名  邓睿智    学号   20223753         

名称:混凝土承重等级预测

一、任务背景

在土木工程中,混凝土是构筑建筑物最基本的材料。混凝土可承受的强度与其寿命、制造所使用的材料、测试时的温度等因素息息相关。混凝土的制造过程十分复杂,涉及水泥、熔炉产出的煤渣和灰烬、水、强度塑化剂、粗聚合剂、细聚合剂等多种化工原料。我们用一个压力达2000kN的液压测试机采集混凝土承重能力的指标,对混凝土方块或圆柱体进行压力测试。这个测试是破坏性的,并且可能会持续很长时间,因此如果我们能够脱离实际测试,直接使用制作原料对其承重能力进行预测,则将具备非常高的商业价值。图1 显示了一次承重能力测试。在本次研究中,我们希望能够建立出一个以混凝土制作配方为输入数据,能够预测其承重能力的模型。

 

图 1  承重能力测试

二、任务数据

为了通过混凝土配方预测其成品的承重强度,我们向数据集中采集了大量的样本数据。每个样本都包含8个特征值作为输入数据,其输出值就是指标承重强度。

本数据集包含了如下指标(按照数据集中特征值的顺序进行排列),其中输入指标包括以下内容。

(1)Cement 单位:kg /m3。

(2)Blast Furnace Slag 单位:kg /m3。

(3)Fly Ash 单位:kg /m3。

(4)Water 单位:kg /m3。

(5)Superplasticizer 单位:kg /m3。

(6)Coarse Aggregate 单位:kg /m3。

(7)Fine Aggregate 单位:kg /m3。

(8)Age 单位:kg /m3。

输出指标包括Concrete compressive strength 单位:MPa。

每个样本有8个混凝土原料配方作为输入特征值(前8 列)及1个目标值(最后一列,承重强度)

三、任描述务

1.根据样本的承重强度对样本标签进行离散化处理,将连续承重强度转换为离散承重等级,然后实现分类任务。输出指标离散化需要考虑两方面因素:一是调研文献,分析各等级混凝土承重强度;二是不同的承重等级数目情况下,模型的预测效果,对比选出预测结果最好的离散化方式。(20)

2.导入数据集,返回当前数据的统计信息并进行阐述说明,以前6行为例进行结果展示。(10)

3. 对混凝土数据集进行可视化处理,生成各特征之间关系的矩阵图(10)

4. 数据预处理,并将原始数据集划分为训练集和测试集,选用合适的机器学习算法对混凝土数据集进行拟合。(20)

5. 采用交叉验证估计超参数,分析超参数对预测结果的影响。(20)

6. 预测结果分析及可视化,绘制混淆矩阵,分析不同承重等级混凝土的查全率和查准率。(20)

四、结果及分析

简明结果

精度

0.89

查准率

 0.96

查全率

0.93

F1

0.92

详细方案和结果分析

解决方案

【包括预测分析的设计思路的具体实现过程或实现步骤

 

1. 数据准备

  • excel表格中的数据进行转换,为其中数据加入列名

 

  • 导入数据:使用 pandas 导入数据,打印其前几行数据以检查数据是否正确加载。

 

  • 数据清理:如果有缺失值或异常值,需要进行处理

2. 数据离散化

  • 定义离散化函数:创建一个函数,将混凝土抗压强度转换成离散分类。这对后续类别预测非常重要,因为我们将强度分为五个类别(低、中低、中等、中高、高)。
  • 应用函数:对于“Concrete compressive strength”列,使用这个函数为数据集添加一个新的类别列。

3. 数据探索

  • 统计信息:通过 describe() 函数获取数据的描述性统计信息,以快速了解数据的分布和特征。

 

  • 可视化特征关系:使用 seaborn 的 pairplot 绘制特征之间的关系矩阵,以直观了解各特征间的相关性。

 

4. 特征选择与数据集划分

  • 特征与目标变量划分:将数据集分为特征(X)和目标变量(y),并去掉不需要的列。
  • 数据集划分:使用 train_test_split 将数据集分为训练集(80%)和测试集(20%),确保模型能够进行有效的训练与评估。

 

5. 模型训练

  • 选择模型:使用随机森林分类器 RandomForestClassifier,其具有处理非线性关系和高维数据的能力。
  • 训练模型:在训练集上拟合随机森林模型。

 

6. 超参数调优

  • 定义超参数网格:设置需要调优的超参数,如树的数量、最大深度和分裂所需的最小样本数。
  • 交叉验证:使用 GridSearchCV 进行超参数调优,选择最佳参数,以提高模型性能。

 

最佳超参数展示:

 

7. 预测

  • 模型预测:在测试集上生成预测结果。

8. 评估模型性能

  • 混淆矩阵:绘制混淆矩阵,以直观观察模型预测结果的准确性。

 

  • 分类报告:使用 classification_report 输出包括精确率、召回率和 F1 分数等指标的详细报告。

 

9. 计算并输出各类别指标

  • 计算各类别的指标:使用精确率、召回率和 F1 分数对每个类别的模型性能进行评估,并逐个输出结果。

 

10. 可视化各类别指标

  • 绘制条形图:通过条形图对各类别的精确率、召回率和 F1 分数进行可视化,以便于直观理解模型在不同类别上的表现。

 

 

 

 

 

 

 

 

结果展示

【包括每个任务点结果的展示】

  1. 根据样本的承重强度对样本标签进行离散化处理,将连续承重强度转换为离散承重等级。至少给出3种输出指标离散化的方案,并阐述理由。在后续任务中分别进行模型训练,并在结果展示45结果分析中,从精度,查准率,查全率,FI值等多个角度进行分析,最终选出预测结果最好的离散化方式。

 

 

  1. 返回前五条数据结果(结果截图,并标明图1. 数据展示),并对数据集中的概要信息进行描述。

 

                    1.

数据描述:

1. 水泥(Cement)

  • 范围:198.6 kg 到 540.0 kg
  • 水泥的用量变化较大,其中540 kg是数据集中的最大值。水泥用量的高低与混凝土的抗压强度密切相关。

2. 高炉矿渣(Blast Furnace Slag)

  • 范围:0.0 kg 到 142.5 kg
  • 数据集中有一部分样本使用了高炉矿渣作为替代材料,但大部分数据样本未使用高炉矿渣。

3. 粉煤灰(Fly Ash)

  • 范围:0.0 kg
  • 数据集中的所有样本均未使用粉煤灰。

4. 水

  • 范围:162.0 kg 到 228.0 kg
  • 水的用量大致保持在这一范围内,水的用量直接影响混凝土的工作性和抗压强度。

5. 减水剂(Superplasticizer)

  • 范围:0.0 kg 到 2.5 kg
  • 减水剂的用量较少,最多为2.5 kg,主要用于改善混凝土的流动性并降低水胶比。

6. 粗骨料(Coarse Aggregate)

  • 范围:932.0 kg 到 1055.0 kg
  • 粗骨料的用量变化较大,通常在932.0 kg到1055.0 kg之间。粗骨料的量对混凝土的强度和密实性有重要影响。

7. 细骨料(Fine Aggregate)

  • 范围:594.0 kg 到 825.5 kg
  • 细骨料的用量变化范围为594.0 kg到825.5 kg,通常以沙子为主,影响混凝土的密实度和稳定性。

8. 龄期(Age)

  • 范围:28天 到 365天
  • 混凝土的龄期从28天至365天不等,龄期越长,混凝土的抗压强度通常越高。数据集中还包括了90天、270天和360天等不同的龄期。

9. 混凝土抗压强度(Concrete Compressive Strength)

  • 范围:28.02 MPa 到 79.99 MPa
  • 混凝土抗压强度的范围为28.02 MPa到79.99 MPa,抗压强度受水泥、骨料、水等因素的影响,且随着龄期的增加通常会提高。

 

  1. 数据可视化结果(标明图2. 数据可视化)

 

                         2.

  1. 混淆矩阵展示(标明图3. 分类混淆矩阵)

 

                        3.

  1. 精度,查准率,查全率,FI值的结果截图(标明图4. 分类结果)

 

                          4.

结果分析

【包括预测结果分析(包括对超参影响、精度、查准率、查全率、F1值的分析)、可能存在的问题、可提升的改进思路等】

在本实验中,使用随机森林分类器对混凝土抗压强度数据进行分类,目标是将混凝土抗压强度划分为五个不同的类别(低强度、中低强度、中等强度、中高强度、高强度)。通过模型训练和评估,得出以下总体分析:

  1. 模型在极端类别的表现较好:对于低强度和高强度类别(类别1和类别5),模型表现较为优秀。精确率和召回率较高,说明模型在这些类别上的预测较为准确,能够有效区分低强度和高强度的混凝土。
  2. 中等强度类别表现一般:对于中等强度类别(类别3),模型的精确率和召回率均较低,导致F1分数偏低。这可能是因为中等强度类别在数据中的特征与其他类别较为接近,模型难以有效区分。
  3. 中高强度类别预测不理想:对于中高强度类别(类别4),召回率特别低,表明模型漏判了大量属于该类别的样本,精确率相对较高但并未能有效覆盖所有应归类的样本,导致模型在这一类别的性能较差。
  4. 数据平衡和特征可能影响性能:如果数据集存在类别不均衡或中间类别的边界模糊,模型的分类性能可能会受到影响。缺乏足够区分度的特征或者类别本身的重叠也可能导致较低的性能。

总结

整体来看,随机森林模型在低强度和高强度类别的预测上表现较好,但在中等强度和中高强度类别上的表现较差。为了进一步提升模型的准确性,可能需要进行数据平衡、特征优化和模型改进等操作。

 

 

 

 

 

 

 

 

 

  

 

posted @ 2024-12-21 16:51  The-rich  阅读(25)  评论(0)    收藏  举报