圣诞节快乐
大作业报告
课程名称 机器学习B 成绩
班级信2205-1 姓名 王晨宇 学号 20224074
名称:混凝土承重等级预测
一、任务背景
在土木工程中,混凝土是构筑建筑物最基本的材料。混凝土可承受的强度与其寿命、制造所使用的材料、测试时的温度等因素息息相关。混凝土的制造过程十分复杂,涉及水泥、熔炉产出的煤渣和灰烬、水、强度塑化剂、粗聚合剂、细聚合剂等多种化工原料。我们用一个压力达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.8
|
查准率
|
0.79
|
查全率
|
0.79
|
F1值
|
0.8
|
详细方案和结果分析
|
解决方案
|
【包括预测分析的设计思路的具体实现过程或实现步骤】
该任务的目标是通过混凝土的原料配方预测其承重强度。最初的目标是回归问题(预测一个连续的数值:承重强度),但为了更好地适应分类任务,我们将承重强度离散化,转化为分类问题。
离散化方案: 通过分析混凝土的承重强度,将其划分为若干个等级,类似于分类任务的标签。
模型选择: 选择适合分类任务的机器学习算法,如决策树、随机森林、支持向量机等。
1. 数据导入与基本分析
2. 离散化承重强度
根据文献或数据分布,将承重强度(Concrete compressive strength)离散化为多个等级。
3. 数据预处理
缺失值处理: 检查并处理缺失数据,可以选择删除或填充缺失值。
特征选择与缩放: 可以考虑对特征进行标准化或归一化,尤其是在使用如SVM等对特征尺度敏感的算法时。
4. 划分训练集与测试集
使用train_test_split将数据划分为训练集和测试集。
5. 模型选择与训练
选择多种分类算法进行训练,如逻辑回归、决策树、随机森林、支持向量机(SVM)等。
通过交叉验证评估模型的性能,选择最优模型。
6. 超参数优化与交叉验证
使用GridSearchCV对模型进行超参数调优,选择最优的超参数组合。
交叉验证帮助评估模型的稳定性和泛化能力。
7. 结果评估与可视化
通过混淆矩阵评估分类结果,检查模型在各个类别上的表现。
计算查准率(Precision)、查全率(Recall)、F1值等指标,了解模型的详细表现。
|
结果展示
|
【包括每个任务点结果的展示】
1. 根据样本的承重强度对样本标签进行离散化处理,将连续承重强度转换为离散承重等级。至少给出3种输出指标离散化的方案,并阐述理由。在后续任务中分别进行模型训练,并在结果展示4、5和结果分析中,从精度,查准率,查全率,FI值等多个角度进行分析,最终选出预测结果最好的离散化方式。
等距离散化:直接将承重强度范围按等距离切分,例如将0-50 MPa的范围分为5个等级。
基于分位数的离散化:使用数据集中的分位数来切分等级,确保每个类别包含的样本数量大致相同。
基于模型的离散化:使用分类模型(如决策树或聚类算法)来自动确定最佳的分割点
2. 返回前六条数据结果(结果截图,并标明图1. 数据展示),并对数据集中的概要信息进行描述。
图1
3. 数据可视化结果(标明图2. 数据可视化)
4. 混淆矩阵展示(标明图3. 分类混淆矩阵)
5. 精度,查准率,查全率,FI值的结果截图(标明图4. 分类结果)
|
结果分析
|
【包括预测结果分析(包括对超参影响、精度、查准率、查全率、F1值的分析)、可能存在的问题、可提升的改进思路等】
在使用网格搜索(GridSearchCV)优化随机森林模型的超参数后,我们得到了最终的最优超参数,并进行了模型训练和预测。为了评估模型的性能,我们使用了多个评价指标,包括准确率、查准率(Precision)、查全率(Recall)和F1值。
准确率(Accuracy): 如果数据集中的类别分布不均,准确率可能会受到影响。例如,如果某一类别占比非常高,模型即使始终预测该类别,也能获得较高的准确率。
查准率(Precision):预测为正类(即预测某一类别)的样本中,实际为正类的比例。高查准率意味着预测为某类的样本大多数都是正确的。如果查准率较低,可能意味着模型在预测某些类别时过于保守,误分类的样本较多。
查全率(Recall):实际为正类的样本中,成功预测为正类的比例。高查全率意味着模型能够捕捉到尽可能多的正类样本。查全率较低可能意味着模型漏掉了一些真实的正类样本,特别是在类别不均衡的情况下,可能会对较小的类别造成较大影响。
F1值:查准率和查全率的调和平均数,是衡量模型准确性的一种综合指标。F1值对查准率和查全率的平衡进行了加权,它能够在类别不均衡的情况下,给出更为合理的性能评估。较低的F1值说明模型对少数类别的分类效果不佳。
超参数影响
可能存在的问题:类别不平衡 、特征选择不足、过拟合问题
可以使用特征选择方法(如基于模型的重要性评分、递归特征消除等)来优化特征集合。可以使用交叉验证、限制树的深度、增大样本量、进行特征选择等方法。
模型调参不够细致:虽然进行了网格搜索,但对于一些超参数的选择可能仍不够精细。可以进一步扩展网格搜索的超参数空间,甚至尝试使用随机搜索或贝叶斯优化来进一步提升模型性能。
3. 可提升的改进思路
调整模型参数:
增加 n_estimators 数量,提升模型的稳定性;
使用交叉验证调整 max_depth、min_samples_split 等超参数,使模型具有更强的泛化能力;数据预处理:
对数据进行标准化或归一化处理,尤其是对一些特征之间差异较大的情况下,可以有效提升模型性能。
进行特征工程,尝试创建新的特征或删除无关特征,以提高模型的学习效率。
类别不平衡的处理:
使用样本平衡方法,如SMOTE(过采样)或欠采样,以平衡各类别之间的样本量,避免类别不平衡对模型的影响。
使用加权损失函数来优化少数类别的预测性能。
尝试不同类型的模型(如支持向量机、逻辑回归等)并通过模型融合(例如投票机制)来进一步提升预测性能。
使用模型解释方法(如特征重要性、SHAP值)来进一步理解哪些特征对模型的预测起到了关键作用,从而进行针对性的优化。
|
|
|
|
|
|
|
|
|
|
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义