作为一种常见的建筑材料,混凝土的强度(抗压能力)对于建筑的安全性具有重要影响。混凝土的强度受到一系列因素的影响,包括混凝土成分、气候条件、混凝土使用时长等。在本案例中,首先对混凝土强度数据集进行数据预处理和探索性数据分析,然后使用K近邻回归和决策树回归预测混凝土抗压强度,并探究各因素对混凝土抗压强度的影响程度。
1. 读数据表
首先,读取混凝土强度数据集,该数据集共包含1030个样本,9个变量;其中前7个变量为混凝土中各成分的含量。
本案例的建模目标是混凝土强度,即Concrete compressive strength(MPa)。
从数据集详情页可以看出,数据集中没有缺失值,故不需要进行缺失值处理。
2. 字段基本统计信息
字段基本统计信息如下表所示。
从表中可以看出,各变量的标准差较大,说明分布较为分散;此外各变量的分布有较大差异,如Coarse Aggreagate的最小值为801、最大值为1145,而Blast Furnace Slag的最小值为0,最大值为359.4。
由于模型需要衡量样本间的相似性,建模前需要进行标准化。
此外,Fly Ash这一变量最小值、小四分位数、中位数均为0,而上四分位数大于100,可能存在离群值。
3. 箱线图
为进一步确定Fly Ash是否存在离群值,绘制该变量的箱线图如下所示,图中绿色的数据点为离群值。
4. 混凝土强度分布
接下来绘制混凝土强度的直方图。可以看到,该变量略微右偏,大致分布在0-100之间。
5. 水泥含量与混凝土强度的关系
然后以水泥含量为X轴,混凝土强度为Y轴绘制散点图。
从图中看出,一般而言水泥含量越高,混凝土强度越大,两者存在正相关。
6. Robust标准化
下一步,我们采用Robust标准化方法对数据进行标准化。 Robust标准化可以消除数据中的量纲,并且对异常值不敏感。
7. 训练/测试集划分
接下来将数据集划分为训练集和测试集,测试集占比20%。
8. K近邻回归
下面我们定义K近邻回归模型,选择邻居数为5,所有邻居权重相同,采用欧式距离度量。
9. KNN模型预测
通过模型预测组件,得到训练后的K近邻回归模型在测试集上的预测结果。
10. KNN回归模型评估
最后,对KNN回归模型进行评估。 如下表所示,该模型的决定系数为0.69,说明该模型可以解释因变量(混凝土强度)69%的变异情况。
然后,我们使用决策树回归模型,在同一数据集上对混凝土抗压强度进行建模,以比较两个模型的效果。
11. 回归决策树
设置决策树回归模型参数如下:最大树深度为5,分裂最少样本为3,叶最少样本为2。特征重要度如下图所示,其中水泥含量和年龄的重要程度较高。
决策树模型可视化
决策树模型可视化
12. 决策树模型预测
通过模型预测组件获取决策树回归模型在测试集上的预测结果。
13. 决策树回归模型评估
最后使用回归评估组件,对决策树回归模型对数据的拟合能力进行评价。
决策树回归模型的决定系数为0.75,说明该模型可以解释因变量(混凝土抗压强度)75%的变异情况。与K近邻回归模型相比,决策树回归模型的均方误差、平均绝对误差更小,决定系数更大。这说明决策树回归模型对混凝土抗压强度预测得更为准确。