无监督数据降维技术——主成分分析

本文介绍了主成分分析(PCA)这一无监督数据降维技术,讲解了PCA的目标、如何进行数据预处理、计算协方差矩阵、选择主成分以及使用PCA进行特征转换的过程。PCA通过寻找最大化方差的方向来降低数据维度,确保新特征子空间的方差最大化。文章还展示了使用scikit-learn实现PCA,并结合逻辑回归在葡萄酒数据集上的应用。
摘要由CSDN通过智能技术生成

数据压缩技术可以帮助我们对数据进行存储和分析,特征提取通过归纳总结数据集所蕴含的信息,可以将原始数据集变换到一个维度更低的新的特征子空间,从而实现数据压缩。

无监督数据降维技术——主成分分析

主成分分析是一种广泛应用于不同领域的无监督线性数据转换技术,其突出作用是降维

PCA的目标是在高维数据中找到最大方差的方向,并将数据映射到一个维度不大于原始数据的新的子空间上。

如果使用PCA降维,我们将构建一个 d * k维的转换矩阵 W,这样可以将一个样本向量 x 映射到一个新的 k 维特征子空间上去,此空间的维度小于原始的 d 的维特征空间:
PCA

完成从原始 d 维数据到新的 k 维子空间,第一主成分的方差应该是最大的,由于各主成分之间是不相关的(正交的),后续主成分也具备尽可能大的方差。需要注意的是,主成分的方向对数据值的范围高度敏感,因此,需要先对特征进行标准化处理,以让各特征具有相同的重要性。
PCA算法流程

import pandas as pd
df_wine = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data', header=None)

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

X, y = df_wine.iloc[:, 1:].values, df_wine.iloc[:, 0].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

sc = StandardScaler()
X_train_std = sc.fit_transform(X_train)
X_test_std = sc.transform(X_test)

通过上述代码完成数据的预处理后,进入第二步:构造协方差矩阵。可通过如下公式计算两个特征 xj x j

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值