# 天体光谱智能识别分类
# 摘要
本次作业旨在使用《数据挖掘》课上所学知识,完成针对天体光谱的智能识别分类任务。本小组通过分工合作,按照数据挖掘领域典型的操作流程,针对天体光谱数据完成了包括数据预处理、特征提取、模型构建等一系列工作。通过综合对比不同机器学习和深度学习模型的任务准确率以及时间复杂度,最终选定使用随机森林分类器构建此任务的分类模型,并在测试集上取得了 0.9581 的分类准确率。
## 一、任务背景及工作简介
天体光谱学是天文学使用的光谱学技术。研究天体的电磁辐射光谱,包括可见光,是来自恒星和其它天体的辐射。光谱学可以用来推出远距离恒星和星系的许多性质,例如它们的温度、化学组成、金属丰度,也可以从多普勒红移测量它们的运动。
天体光谱分析一般有两种:① 定性分析,用来确定天体的化学成分。首先测定谱线的波长。在拍摄天体光谱后,挡住用来拍摄天体光谱的那部分狭缝,将已知谱线波长的光源投在狭缝的其他部分上,拍摄比较光谱(常是铁弧光谱)。用仪器将天体谱线波长和地球上已知元素的谱线波长作比较,或者应用按原子结构和光谱理论计算的谱线表,证认出产生天体谱线的元素。② 定量分析,每种元素的谱线强度,与它们在物质中的含量有关,所以通过对谱线强度的比较,可以确定物质中各元素的含量。对于天体,目前只能取到月球上的物质样品,在实验室中进行定量分析。至于恒星(包括太阳)光谱的定量分析,有两种方法:一是测定一些谱线的等值宽度,作出观测的生长曲线,与理论计算比较;二是根据某种谱线形成的机理,假设一些物理参数,计算出理论轮廓,再同观测轮廓比较。这两种方法不仅能得到形成该谱线元素的原子数,而且能得到恒星大气中的温度、湍流速度和压力等参数。
本项任务中要求对恒星、星云和类星体光谱进行分类识别,这三类光谱在天文物理学的研究上是有一定区分特征的。恒星光谱中的吸收线可以用于确定恒星的化学成分;星云中原子的行为和被压抑的谱线与在正常密度下非常的不同。这些谱线是所谓的禁线,并且是星云光谱中最强的谱线。类星体的光谱类似于普通的星系光谱,但被认为有着高度红移。本项团队工作旨在通过数据挖掘的方法对三种天体进行光谱层面的智能识别分类。工作主要分为三大部分:数据预处理、使用机器学习模型分类和使用深度学习模型分类。具体而言,在数据预处理阶段我们首先对数据样本进行数据清洗,包括去除异常点、标准化和归一化等,同时面向数据不平衡问题提出了两种解决方案即过采样配平法和增加类别平衡权重法。接下来对于机器学习模型我们在预处理阶段还增加了特征提取的工作以便于机器学习算法能够更好更快的学习样本特征。数据预处理阶段结束后,分别训练机器学习模型和深度学习模型完成最终的分类任务。其中机器学习算法采用了随机森林和支持向量机进行对照试验并结合特征提取和类别平衡权重法来增强模型的训练效果;深度学习部分采用卷积神经网络和 50 层 ResNet[1]网络进行对照试验,同时使用过采样配平法缓解数据类别不平衡问题。本工作的整体处理流程如图 1 所示。
![](https://www.writebug.com/myres/static/uploads/2022/5/10/b252825ec413ea756e4565b2dacaa590.writebug)
图 1 任务流程示意图
## 二、数据预处理
### 2.1 数据预览
本次大作业是一个天体光谱智能识别分类的任务,数据集中共 18 万条样本数据,每个样本有 2600 维。整个样本空间一共包含三类数据分别是行星(star),星系(galaxy)和类星体(qso)。要做的是根据样本数据进行多分类,评价指标是分类准确率。
首先从考察任务整体难易程度出发,直接观察多分类任务中各类别之间的区分程度,这里为方便展示,设计两个实验使用余弦相似度观察类别之间的可区分程度并使用热力图进行可视化展示,实验一随机抽取三个类别中一个样本计算余弦相似度,实验二为进一步消除偶然误差影响随机抽取每个类别中的 10 个样本求平均值后计算余弦相似度。实验一二的可视化结果如图 2 所示。
![](https://www.writebug.com/myres/static/uploads/2022/5/10/8150ae29c23821d98617be3d05795824.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/5/10/65ff90301bbfb2ea25083ad5b46d2d65.writebug)
图 2 样本相似度热力图
由上图可以看出,对角线代表的是自相关系数,其相似性始终为 1 且颜色最深,另外值得注意的是,star 类对于其他两类的相似性都比较高,这表明样本数据不是非常好区分;qso 类和 galaxy 类的相似性矩阵表明这两类的区分程度很强,对模型来说比较友好。
### 2.2 缺失值处理
我们检测数据中是否有空值等影响分类的数值,结果显示数据集质量较高不存在上述问题。
### 2.3 异常点处理
通过直接对某个维度的数据分布情况进行考察,发现在异常点的影响下导致数据分布跨度很大,这里以维度一为例,对该维度下的取值数据进行排序后绘制散点图观察如图 3,可以看到大部分数据都集中分布在正负 1e6 附近,但有异常点出现在了负 1e7 尺度内,导致这是直接做数据归一化的话,会将绝大部分数据归一化到 0 附近,这是相当没有意义的,因此十分有必要去除异常点之后再进行归一化。
![](https://www.writebug.com/myres/static/uploads/2022/5/10/8156364b7eec75c8f3940c2d06dccb24.writebug)
图 3 数据分布散点图
使用均值加减三倍标准差检测异常点,以文件一为例,对样本的的每一维特征单独提取并计算每一个样本数据在该特征下是否超过均值加减三倍标准差即是否为异常点,若为异常点则在该维度下对该样本进行标记,最后将共 2600 维分别的异常点标记进行取集合运算就能得到要提出的异常点了。如上所述操作后,共 20000 条样本,对 2600 维分别检测异常点后共得到了 6796 个异常样本(有重复的),对这些样本取集合运算得到共 139 条样本,考虑到本任务样本充足,故在对类别平衡影响不大(异常样本全是 star 类,属于多数类)的情况下直接将异常样本进行删除处理。
最终对于共 9 个文件的剔除的异常点分布情况如下表 1。可以看出剔除的异常点绝大部分都是 star 类别的数据,而整个数据集恰好存在 star 类别数量过多的数据不平衡的问题,因此直接剔除检测出的这些异常点是无可厚非的。
| |star 数量 |qso 数量 |galaxy 数量 |
|----|----|----|----|
| 文件一(训练集) |139 |0 |0 |
| 文件二(训练集) |532 |0 |1 |
| 文件三(训练集) |403 |1 |1 |
| 文件四(训练集) |128 |0 |1 |
| 文件五(训练集) |399 |0 |1 |
| 文件六(训练集) |66 |0 |1 |
| 文件七(训练集) |427 |0 |1 |
| 文件八(验证集) |21 |0 |0 |
| 文件九(验证集) |213 |0 |2 |
表 1 异常点去除情况统计
这里以数据样本的第一个特征进行展示,观察数据分布情况。图 4 为按照该特征提取样本之后,进行数据排序之后绘制散点图。观察发现大部分数据呈类似反函数形式分布在空间内,也有�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源包含文件:课程设计报告word+报告PDF+源码 本次大作业是一个天体光谱智能识别分类的任务,数据集中共 18 万条样本数据,每个样本有 2600 维。整个样本空间一共包含三类数据分别是行星(star),星系(galaxy)和类星体(qso)。要做的是根据样本数据进行多分类,评价指标是分类准确率。详细介绍参考:https://biyezuopin.blog.csdn.net/article/details/125310928
资源推荐
资源详情
资源评论
收起资源包目录
基于Python的天体光谱智能识别分类.zip (19个子文件)
基于Python的天体光谱智能识别分类 课程论文.docx 300KB
基于Python的天体光谱智能识别分类 课程论文.pdf 743KB
基于Python的天体光谱智能识别分类 源码
preprocessing.py 10KB
ResNet.py 6KB
ResNet_test.py 2KB
LICENSE 1KB
RandomForest_SVM.py 5KB
README.md 26KB
CNN.py 2KB
截图
[HBEK[3SKEYW)2DBVCINZCS.png 36KB
JP0EUMY%PY2Q8YUJ[7P[FR1.png 9KB
$[}`)[email protected] 11KB
GP`(9H[@A56B4GA~0H~J1$P.png 37KB
}]IM237T}EW8FBG886M]N81.png 15KB
_TZE`1D9@(9AR}}Q0JN8Z(Y.png 60KB
3~EDGJ)S5M[P~8(D}0)}`DJ.png 191KB
@(1_4IXZDB}ZME{(Z8Q`5~5.png 11KB
JRYZMR3V~JYMO5S%IK5$JBY.png 47KB
J%BZRF1Z3YVA[[email protected] 150KB
共 19 条
- 1
资源评论
- m0_508718732022-08-18感谢资源主的分享,很值得参考学习,资源价值较高,支持!
shejizuopin
- 粉丝: 1w+
- 资源: 1288
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_0694.GIF
- 基于图像的三维模型重建C++源代码+文档说明(高分课程设计)
- 基于聚焦法的工件立体测量方案,根据数据进行三维重建 使用HALCON处理图像,MATLAB拟合数据+源代码+数据集+效果图
- 锄战三国村 修改:货币使用不减 v1.10(2) 原创 (中文).apk
- 基于python实现的单目双目视觉三维重建+源代码+图像图片(高分课程设计)
- 基于C+++OPENCV的全景图像拼接源码(课程设计)
- 基于Python+OpenCV对多张图片进行全景图像拼接,消除鬼影,消除裂缝+源代码+文档说明+界面截图(高分课程设计)
- 基于C++实现的全景图像拼接源码(课程设计)
- 基于SIFT特征点提取和RASIC算法实现全景图像拼接python源码+文档说明+界面截图+详细注释(95分以上课程大作业)
- 基于matlab实现眼部判别的疲劳检测系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功