【Python机器学习】利用PCA来简化数据——降维技术

通常情况下,我们会显示三维图像或者只显示其相关特征,但是数据往往拥有超出显示能力的更多特征。数据显示并非大规模特征下的唯一难题,对数据进行简化还有以下的原因:

1、使得数据集更易使用;

2、将死很多算法的计算开销;

3、去除噪声;

4、使得结果易懂。

在已标注和未标注的数据上都有降维技术。这里我们主要关注的是未标注数据上的降维技术,该技术同时也可以应用于已标注的数据。

第一种降维方法称为主成分分析PCA)。在PCA中,数据从原来的坐标系转换到了新的坐标系,新坐标系的选择是由数据本身决定的。第一个新坐标轴选择的是原始数据中方差最大的方向;第二个新坐标轴的选择和第一个坐标轴正交且具有最大方差的方向。该过程一直重复,重复次数为原始数据中特征的数目。我们会发现,大部分方差都包含在最前面的几个新坐标轴中。因此,我们可以忽略余下的坐标轴,即对数据进行了降维处理。

另一种降维技术是因子分析 。在因子分析中,我们假设在观察数据的生成中有一些观察不到的隐变量。假设观察数据是这些隐变量和某些噪声的线性组合。那么隐变量的数据可能比观察数据的数目少,也就是说通过找到隐变量就可以实现数据的降维。因子分析已经应用于社会科学、金融及其他领域了。

还有一种降维技术就是独立成分分析(ICA)。ICA假设数据使用N个数据源生成的,这一点和因子分析有些类似。假设数据为多个数据源的混合观察结果,这些数据源之间在统计上是相互独立的,而在PCA中只假设数据是不相关的。同因子分析一样,如果数据源的数目少于观察数据的数目,则可以实现降维过程。

在上述3中降维技术中,PCA的应用目前最为广泛。

相关推荐
几道之旅1 分钟前
MCP(Model Context Protocol)与提示词撰写
人工智能
站大爷IP5 分钟前
Python文本序列的类型
python
Spider_Man8 分钟前
“AI查用户”也能这么简单?手把手带你用Node.js+前端玩转DeepSeek!
javascript·人工智能·node.js
愈努力俞幸运21 分钟前
c++ 头文件
开发语言·c++
千千寰宇21 分钟前
[Java/Python] Java 基于命令行调用 Python
python·java se-jdk/jvm
T.D.C23 分钟前
【OpenCV】使用opencv找哈士奇的脸
人工智能·opencv·计算机视觉
永日4567027 分钟前
学习日记-day24-6.8
开发语言·学习·php
BillKu27 分钟前
Java后端检查空条件查询
java·开发语言
大霸王龙41 分钟前
软件工程的软件生命周期通常分为以下主要阶段
大数据·人工智能·旅游
十五年专注C++开发1 小时前
CMake基础:gcc/g++编译选项详解
开发语言·c++·gcc·g++