12.8
名称:混凝土承重等级预测
一、任务背景
在土木工程中,混凝土是构筑建筑物最基本的材料。混凝土可承受的强度与其寿命、制造所使用的材料、测试时的温度等因素息息相关。混凝土的制造过程十分复杂,涉及水泥、熔炉产出的煤渣和灰烬、水、强度塑化剂、粗聚合剂、细聚合剂等多种化工原料。我们用一个压力达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.8252427184466019 |
查准率 |
0.8300374717850446 |
查全率 |
0.8252427184466019 |
F1值 |
0.8193495368545637 |
|
|
详细方案和结果分析 |
||||||||
|
解决方案 |
【包括预测分析的设计思路的具体实现过程或实现步骤】 设计思路: 1. 数据准备与预处理 数据加载:首先,我们从Excel文件中加载数据集,并检查数据的基本结构和前几行,以确保数据加载正确。 特征选择:选择可能影响混凝土抗压强度的特征 目标变量处理:混凝土抗压强度是连续变量,因此,采用三种不同的离散化方法:均匀分割、百分位数分割和K-means聚类分割。 2. 离散化方法的选择与实现 均匀分割:将混凝土抗压强度均匀分为四个区间,每个区间代表一个承重等级。 百分位数分割:根据混凝土抗压强度的百分位数(如四分位数)来划分区间,这种方法能够更好地反映数据的分布情况。 K-means聚类分割:使用K-means聚类算法将混凝土抗压强度分为四个聚类,每个聚类代表一个承重等级。这种方法能够发现数据中的潜在模式。 3. 模型选择与训练 选择模型:我们选择随机森林分类器作为预测模型,因为它在处理高维数据和非线性关系方面表现出色。 模型训练:使用训练集数据对模型进行训练,分别采用三种离散化方法得到的目标变量进行训练。 模型评估:使用测试集数据对模型进行评估,计算精度、查准率、查全率和F1值等指标。 4. 超参数调优 定义超参数网格:为随机森林分类器定义一系列超参数组合。 网格搜索:使用网格搜索算法(GridSearchCV)在训练集上寻找最佳超参数组合。 最佳模型评估:根据离散化方法的结果,使用最佳模型在测试集上进行评估,并计算相关性能指标。 5. 结果可视化与分析 特征关系矩阵图:生成各特征之间关系的矩阵图(热力图),以可视化特征之间的相关性。 混淆矩阵:绘制混淆矩阵以评估模型的分类性能,并计算每个类别的查准率和查全率。 设计方案 以下是基于上述设计思路的详细设计方案: 1. 数据准备与预处理 使用pandas库加载Excel文件中的数据集。 显示数据集的前几行以确认数据加载正确。 选择与混凝土抗压强度相关的特征。 分别使用均匀分割、百分位数分割和K-means聚类分割方法将混凝土抗压强度离散化为四个承重等级。 2. 离散化方法的实现 均匀分割: 使用KBinsDiscretizer类将混凝土抗压强度均匀分割为四个区间。 将分割后的结果添加到数据集中作为新的目标变量。 百分位数分割: 计算混凝土抗压强度的百分位数(如25%、50%、75%)。 根据百分位数定义区间边界。 使用pd.cut函数将混凝土抗压强度映射到相应的区间。 将映射后的结果转换为数值型并添加到数据集中。 K-means聚类分割: 使用KMeans类对混凝土抗压强度进行聚类。 将聚类结果作为新的目标变量添加到数据集中。 3. 模型选择与训练 选择随机森林分类器作为预测模型。 使用训练集数据对模型进行训练,分别采用三种离散化方法得到的目标变量进行训练。 使用测试集数据对模型进行评估,计算精度、查准率、查全率和F1值等指标。 4. 超参数调优 定义随机森林分类器的超参数网格。 使用网格搜索算法(GridSearchCV)在训练集上寻找最佳超参数组合。 使用最佳模型在测试集上进行评估,并计算相关性能指标。 5. 结果可视化与分析 生成各特征之间关系的矩阵图(热力图),以可视化特征之间的相关性。 绘制混淆矩阵以评估模型的分类性能。 计算每个类别的查准率和查全率,并进行分析。
|
|||||||
|
结果展示 |
【包括每个任务点结果的展示】
方案一:均匀分割(等宽离散化) 理由: 简单易实现:等宽离散化方法直接按照固定的区间宽度将连续数据转换为离散数据,操作简单,易于理解和实现。 保持数据均匀分布:这种方法能够保持数据在每个区间内的均匀分布(尽管实际数据分布可能并不均匀),有助于某些算法(如基于距离的算法)的处理。 避免极端值影响:与基于频率的离散化方法相比,等宽离散化不依赖于数据的具体频率分布,因此不太容易受到极端值或异常值的影响。 方案二:根据百分位数分割(等频离散化的一种变体) 理由: 基于数据分布:根据数据的百分位数进行分割,能够更准确地反映数据的实际分布情况,特别是在数据分布不均匀时。 保持数据代表性:每个区间内的样本数量大致相等,有助于保持数据的代表性,特别是在进行抽样或分层分析时。 易于解释:将连续数据转换为基于百分位数的离散数据,使得结果更易于理解和解释。 方案三:基于K-means聚类分割 理由: 自适应数据分布:K-means聚类方法能够根据数据的实际分布情况自动确定分割点,从而得到更贴合数据特性的离散化结果。 处理非线性关系:与基于规则的离散化方法相比,K-means聚类能够处理数据中的非线性关系,提高离散化的准确性。 灵活性:通过调整聚类数目K,可以得到不同粒度的离散化结果,满足不同的分析需求。 结果:
数据集的前六条数据
图1.数据展示 返回的加上混凝土类别区间,混凝土类别分位数,混凝土类别K均值
图2.数据可视化
图3分类混淆矩阵
图4分类结果 |
|||||||
|
结果分析 |
【包括预测结果分析(包括对超参影响、精度、查准率、查全率、F1值的分析)、可能存在的问题、可提升的改进思路等】
精度、查准率、查全率、F1值上模型都较高,说明模型拟合很好。
|
|||||||

浙公网安备 33010602011771号