资料详情

基于机器学习算法与因子分析的玻璃文物化学成分研究 毕业论文+源码及数据

头像

Python

编号:1810

基于机器学习算法与因子分析的玻璃文物化学成分研究

摘要

本文基于题目给出的数据,对数据进行了预处理与描述性分析。利用了决策树算法对玻璃的玻璃类型、纹饰、颜色和风化程度进行建模,运用随机森林回归的方法对风化前的玻璃化学成分进行预测,运用无监督学习的方式对玻璃文物进行亚分类,并通过机器学习的算法建立模型,对玻璃样品的种类进行预测,最后通过因子分析进行玻璃文物化学成分的关联性研究。

针对问题一:问题一的第一问通过建立决策树模型,将玻璃类型,纹饰以及颜色作为自变量,将玻璃表面的风化程度作为因变量,建立分类模型,并且通过绘制决策树的方式直观的展示玻璃的类型,纹饰以及颜色对于玻璃的风化程度的影响。问题一的第二小问首先运用通过曼惠特尼检验对总体样本进行检验,得出高钾玻璃和铅钡玻璃在化学成分上的不同,对高钾玻璃和铅钡玻璃分别进行检验,得出高钾玻璃和铅钡玻璃风化前后化学成分的不同。通过 F 检验对两种玻璃进行检验,筛选出与玻璃的风化程度有显著的线性关系的化学成分,作为预测风化前的化学成分。对需要预测的数据运用随机森林回归的方式依次进行填充,完成对风化前玻璃化学成分的预测。

针对问题二:问题二首先剔除风化情况对化学成分含量的影响,并通过对数据统计量进行对比研究,得到不同类别特征的直观差异。接着进一步选择搭建神经网络,具体解决玻璃类型的分类问题。将原数据按照 5:1 的比例划分为训练集与测试集,选择多层感知器(MLP)模型进行训练,并通过交叉检验的方法评估模型泛化能力,得到分类规律。问题二第二部分要求对每个类别选择化学成分进行亚类划分,给出划分方法及结果,并对结果进行分析。对于亚分类,我们采用的是无监督学习方法:Kmeans 和DBSCAN,择优选择了 Kmeans 并分别从化学和模型角度分析了合理性和敏感性。

针对问题三:针对未知类型玻璃分类问题,问题三首先对不均衡数据进行数据增强

Smote 算法,解决样本数据不均衡问题。接着尝试使用多种机器学习模型,包括随机森林、xgboost 等,并通过贝叶斯优化的方式进行机器学习模型参数的优化,并比较其准确率,并择优得出结论。

针对问题四:此首先考虑对不同类别的玻璃的化学成分进行 Pearson 相关性分析, 通过绘制相关性矩阵的方式观察变量之间是否有正相关与负相关的关系。之后采取因子分析的方法,提取主要因子,根据旋转后的成分矩阵对原本的化学变量进行分组,分在一组中的化学成分有较高的相关性。考虑到多个化学成分之间可能会有互相影响的情况,因此最后再采取偏相关性分析,把一组中其他因素的影响视为常数,即暂不考虑其他要素的影响,而单独研究那两个要素之间的相互关系的密切程度。最后得出结论。

关键字: 玻璃文物 机器学习算法 因子分析 贝叶斯优化


目录

一、 问题重述

1 . 1 研究背景

1 . 2 问题提出

二、 整体思路与模型概述

2 . 1 问题分析与模型概述

2 . 1 . 2 问题二的分析

2 . 1 . 3 问题三的分析

2 . 1 . 4 问题四的分析

2 . 2 整体思路

图 1 整体思路流程图

3 . 1 . 1 决策树

ID3

ID3

3 . 1 . 2 分析与可视化

表 1 标注编号描述

图 2 决策树可视化关系

图 3 经过 PCA 降维的玻璃散点图

图 4 化学成分与玻璃种类的曼惠特尼检验结果

图 5 化学成分与玻璃种类的曼惠特尼检验结果

图 6 化学成分与高钾玻璃风化程度曼惠特尼检验结果

图 7 未风化与风化的高钾玻璃的化学成分分布图

图 8 化学成分与铅钡玻璃风化程度曼惠特尼检验结果

图 9 未风化与风化的铅钡玻璃的化学成分分布图

图 10 高钾玻璃化学成分 F 检验 p-value

图 11 铅钡玻璃化学成分 F 检验 p-value

四、 问题二的分析与求解

4 . 1 不同类型玻璃分类规律

图 12 不同类型玻璃外观特征

图 13 不同类型玻璃主要化学成分含量对比

图 14 不同类型玻璃化学成分含量差异对比

4 . 1 . 3 模型的建立

图 15 多层感知机模型

4 . 1 . 4 模型的求解与验证

图 16 MLP 损失函数与准确率

4 . 2 . 1 数据分析

图 17 异常点分析和二元分析

4 . 2 . 2 Kmeans

层次聚类

肘部法则

图 19 肘部法则

4 . 2 . 3 DBSCAN

确定半径和核心点

k-距离

图 20 K-距离确定半径和核心点

Calinski-Harabasz

4 . 2 . 5 划分结果与分析

表 2 聚类算法对比

合理性分析

图 21 高钾玻璃、铅钡玻璃亚分类结果相关性

表 3 亚分类结果相关性

敏感性分析

五、 问题三的分析与求解

5 . 1 数据增强

图 22 Smote 处理结果

5 . 2 . 2 SVM

图 23 SVM 超平面划分

图 24 随机森林算法特征重要程度

图 25 xgboost 算法特征重要程度

图 26 xgboost 算法特征重要程度

表 4 未知玻璃类型划分

六、 问题四的分析与求解

6 . 1 皮尔逊相关系数

图 27 高钾玻璃、铅钡玻璃化学成分热力图

6 . 2 因子分析

6 . 2 . 1 因子分析可行性分析

图 28 高钾玻璃、铅钡玻璃巴特利球体检验结果

6 . 2 . 2 因子分析结果分析

图 29 高钾玻璃因子分析结果图

图 30 铅钡玻璃因子分析结果图

6 . 3 偏相关分析

图 31 高钾玻璃的氧化镁,五氧化二磷和氧化锶偏相关分析结果

图 32 铅钡玻璃的氧化钙,氧化锶和氧化铅偏相关分析结果

七、 模型的评价与优化

7 . 1 模型的评价方式

图 33 梯度提升树算法在测试集预测结果

7 . 2 模型的优化方法

图 34 梯度提升树算法在测试集预测结果

附录 A 函数封装�Cpython 源程序