目录

  • 1 Chapter01. Introduction
    • 1.1 课程PPT
    • 1.2 补充材料(数学基础)
    • 1.3 本节作业
  • 2 Chapter02. Bayesian Decision Theory
    • 2.1 课程PPT
    • 2.2 视频素材
    • 2.3 章节测试
  • 3 Chapter03. Maximum Likelihood and Bayesian Estimation
    • 3.1 课程PPT
    • 3.2 视频素材
    • 3.3 补充材料(EM)
  • 4 Chapter04. Nonparametric Techniques
    • 4.1 课程PPT
    • 4.2 补充材料(距离)
  • 5 Chapter05. Linear Discriminant Functions
    • 5.1 课程PPT
    • 5.2 视频素材
    • 5.3 补充材料(梯度)
    • 5.4 数学证明
  • 6 Chapter06. Neural Networks
    • 6.1 课程PPT
    • 6.2 视频素材
    • 6.3 补充材料(BP)
  • 7 Chapter07. Dimension Reduction
    • 7.1 课程PPT
    • 7.2 补充材料(奇异值)
  • 8 Chapter08. Non-metric Methods
    • 8.1 课程PPT
  • 9 Chapter09. Unsupervised Learning and Clustering
    • 9.1 课程PPT
    • 9.2 实验
  • 10 Chapter10. Algorithm-independent Machine Learning
    • 10.1 课程PPT
    • 10.2 补充材料(偏差方差两难)
    • 10.3 实验
  • 11 课程实验
    • 11.1 实验环境设置
    • 11.2 python数据常用导入方法
    • 11.3 数据探索
    • 11.4 数据预处理
    • 11.5 朴素贝叶斯分类
    • 11.6 KNN分类
    • 11.7 线性回归
    • 11.8 逻辑回归
    • 11.9 SVM实现多分类
    • 11.10 决策树分类
    • 11.11 PCA实现
    • 11.12 K-means聚类实现
PCA实现

实验 PCA实现

实验目标

本实验通过主成分分析(PCA)技术对鸢尾花数据集进行降维,旨在:使用PCA将原始4维数据降到2维,并进行可视化。分析降维前后数据的分布和类别区分情况。评估PCA对数据方差解释率的贡献,以便在最少维度中保留最多信息。

实验环境

o Python编程语言

o Scikit-learn库

o Matplotlib(用于数据可视化)

o NumPy和Pandas库(用于数据处理)

o Jupyter Notebook或类似IDE(用于代码编写和结果展示)

实验数据集

本实验使用的是鸢尾花数据集(Iris dataset),它是一个经典的多分类数据集,包含150个样本,4个特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度),以及3个目标类别(Setosa、Versicolor、Virginica)。

实验步骤

1. 数据加载与初步探索

o 加载鸢尾花数据集,获取特征数据X和目标标签y。

2. 标准化特征

o 使用StandardScaler对特征数据进行标准化,使每个特征的均值为0,方差为1,以便消除量纲差异。

3. 原始数据可视化

o 使绘制原始数据的前两个特征,以便在降维前观察数据的分布。

4. 应用PCA降维

o 使用PCA将标准化后的数据从4维降到2维。

5. 降维后数据可视化

o 将降维后的2维数据进行可视化,用颜色区分类别,展示PCA在二维空间中的数据表现。

6. 方差解释率分析

o 计算每个主成分对方差的解释率,并绘制累计方差解释率图,观察PCA如何保留主要信息。

实验结果展示

o 原始数据的前两个特征图:展示了降维前的原始数据(4维中的两个特征)的分布情况。

o 降维后的2维数据图:在降维后的二维空间中显示各类别数据点的分布情况,展示了PCA保留的主要信息。

o 累计方差解释率图:通过累计方差解释率图观察不同数量主成分对信息量的保留情况,以帮助决定在降维中需要保留的维度数。

实验总结

o 实验表明,PCA能够有效地将4维数据压缩到2维,同时保留了较多信息。从降维后数据的可视化结果可以看出,降维后的二维空间能较好地分隔出不同类别。

o 累计方差解释率图显示,前两个主成分解释了大部分数据的方差,这说明PCA的降维在保留信息的同时简化了数据。

o PCA可以用于数据的降维和可视化,尤其适用于在高维数据中找到主要信息,并用于探索性数据分析或提高模型计算效率的场景。

实验代码参考

以下是一个PCA实现的实验代码(使用鸢尾花数据集):

——————————————

# 导入必要的库

imporimport numpy as np  # 数值计算库,用于数组操作

import matplotlib.pyplot as plt  # 绘图库,用于数据可视化

from sklearn.datasets import load_iris  # 数据集模块,用于加载鸢尾花数据集

from sklearn.preprocessing import StandardScaler  # 数据标准化模块

from sklearn.decomposition import PCA  # 主成分分析模块


# 加载鸢尾花数据集(Iris Dataset)

# 加载鸢尾花数据集,X为特征数据,y为类别标签,target_names为类别名称

      # 特征矩阵(形状为 150x4)

      # 类别标签(0, 1, 2),共3类

      # 类别名称(setosa, versicolor, virginica)


# 数据标准化

# 通过StandardScaler将数据进行标准化,使每个特征均值为0,方差为1,消除量纲差异


# 原始数据的前两个特征可视化(4维降到2维前的对比)

# 可视化原始数据的前两个特征,以便与PCA降维后的数据进行对比

      # 设置图像大小

      # 定义每个类别的颜色

       # 按类别绘制前两个特征的散点图


     # 设置x轴标签为第一个特征

     # 设置y轴标签为第二个特征

     # 图像标题

      # 显示图例

     # 添加网格线

     # 显示图像


# 应用PCA将数据降维到2维

# 使用PCA将数据从4维降到2维,以便在2D图中进行可视化

      # 设置降维的目标维度为2

      # 对标准化数据进行PCA降维


# 降维后的数据可视化

# 可视化降维后的2维数据,展示PCA在2维空间中重构的主要信息

       # 设置图像大小

 

       # 按类别绘制降维后的散点图


      # 设置x轴标签为主成分1

      # 设置y轴标签为主成分2

      # 图像标题

      # 显示图例

      # 添加网格线

      # 显示图像


# 方差解释率

# 使用完整的PCA分析各主成分的方差贡献率

      # 对标准化数据进行PCA,包含所有主成分

      # 累计方差


# 绘制累计方差解释率

      # 设置图像大小


# 绘制主成分数量与累计方差解释率的关系曲线

 

      # 设置x轴标签为主成分数量

      # 设置y轴标签为累计方差解释率

      # 图像标题

——————————————