# HuaweiCup2021-MCM-ProblemE
> 2021年华为杯第十八届中国研究生数学建模竞赛E题全国一等奖
## 代码文件说明
### 数据预处理相关(以调用顺序排序)
- clean_data.py:使用高斯σ原则和k-means聚类算法对原始数据进行预处理,并转化为二维矩阵存储。
- process_tag.py:将靶点的真实坐标转化为二维矩阵数据类型存储。
### 模型求解相关(以调用顺序排序)
- method.py:定义最小二乘法和牛顿迭代法求解交点,使用线性分类器预测噪声类型。
- generate_data.py:利用提供的训练数据构造神经网络输入特征。
- generate_label.py:利用提供的训练数据生成噪声类型的真实标签。
- neural_network.py:定义神经网络结构,使用训练数据优化神经网络的参数,并保存最优模型。
- denoising.py:计算利用神经网络去噪后估测交点的坐标,输出三维、二维和一维的各自精度。
- predict.py:使用预训练的模型对测试数据进行预测,输出噪声类型和交点坐标。
- move_plot.py:用三维和二维分别展现靶点的动态轨迹。
### 可视化相关
- kmeans_sse.py:计算不同聚类中心数量下的聚类误差,以确定最佳聚类中心数量。
- vis_data.py:可视化原始数据或清洗后数据的观测距离,呈现曲线图和直方图。
- vis_noise.py:可视化观测距离误差的分布,以观察噪声统计特性。