主成分分析-PCA

一、简介

1.意义

PCA(主成分分析,Principal Component Analysis)是一种常用的数据降维技术。它的主要目的是通过线性变换将原始数据转换到新的坐标系统中,这个新坐标系统的各个坐标轴(即主成分)是原始数据的主要特征方向,这些方向上的数据方差最大,且各坐标轴之间相互正交。通过这种方式,PCA可以在保留数据重要特征的同时,减少数据的维度,简化数据,便于后续的数据处理和分析。

2.PCA的应用

PCA在数据分析和机器学习领域有广泛的应用,包括:

  • 数据压缩:通过减少数据的维度,可以显著减少数据存储和传输的成本。
  • 特征提取:PCA可以帮助识别数据中的关键特征,这对于后续的数据分析和建模非常有用。
  • 数据可视化:在将高维数据降维到2维或3维后,可以使用散点图、热力图等方式进行可视化分析。
  • 噪声去除:PCA可以通过去除较小的特征值对应的特征向量来降低噪声的干扰。

3.PCA参数解释

PCA(n_components=None, copy=True, whiten=False, svd_solver=’auto’, tol=0.0, iterated_power=’auto’, random_state=None)

  1. n_components
    功能:决定PCA算法应该保留的主成分数量。
    取值:
    整数k:表示保留前k个主成分。
    小数(0,1]之间的数:表示保留的主成分的方差百分比,例如0.9表示保留90%的方差。
    如果设置为None(默认值),则保留所有主成分。
  2. copy
    功能:是否在运行算法时,将原始训练数据复制一份。
    取值:
    True(默认值):复制数据,以免修改原始数据。
    False:直接在原始数据上进行计算。
  3. whiten
    功能:决定是否对数据进行白化处理。
    取值:
    True:对数据进行白化,即对每个特征进行归一化,使得每个特征的方差都为1。在某些应用中,白化可以提高数据的可解释性。
    False(默认值):不进行白化。
  4. svd_solver
    功能:决定使用的SVD(奇异值分解)求解器的类型。
    取值:
    ‘auto’(默认值):根据输入数据的大小和特征数量自动选择最合适的求解器。
    ‘full’:使用传统的SVD方法,适用于较小的数据集。
    ‘arpack’:使用scipy库中的稀疏SVD实现,适用于大型数据集。
    ‘randomized’:使用一种随机算法来加快SVD的计算速度,适用于大型数据集且主成分数目较少的情况。
  5. tol
    功能:决定奇异值分解的收敛容差。
    取值:默认为0.0,表示使用默认的收敛容差。较小的值会产生更精确的结果,但也会增加计算时间。
  6. iterated_power
    功能:决定幂迭代方法的迭代次数。
    取值:默认为’auto’,表示使用一种启发式方法选择迭代次数。通常不需要手动调整这个参数。
  7. random_state
    功能:决定随机数生成器的种子,用于在使用’randomized’求解器时控制随机性。
    取值:
    如果设置为None(默认值),则随机数生成器使用当前系统时间作为种子。
    设置为整数时,将使用该整数作为随机数生成器的种子,以确保结果的可重复性。

二、代码实现

1. 数据预处理

from sklearn.decomposition import PCA
import pandas as pd

data = pd.read_excel('.\hua.xlsx')

# 数据划分
X = data.iloc[:, :-1]
y = data.iloc[:, -1]
  • 使用pandas库的read_excel函数从指定的Excel文件(.\hua.xlsx)中加载数据,并将其存储在DataFrame对象data中。
  • X被设置为data中除最后一列外的所有列,包含特征(自变量)。y被设置为data的最后一列,包含目标变量(因变量)。

2. 主成分分析(PCA)

pca = PCA(n_components=0.90) # 实列化PCA对象
pca.fit(X
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值