利用特征提取进行特征降维

本文介绍了特征降维的方法,包括使用主成分分析(PCA)进行线性降维,通过Kernel PCA处理线性不可分数据,利用线性判别分析(LDA)最大化类间可分性,以及应用非负矩阵分解(NMF)和截断奇异值分解(TSVD)对稀疏数据进行降维。PCA和LDA关注信息量的保留,而Kernel PCA和NMF则关注非线性映射和潜在关系的发现。
摘要由CSDN通过智能技术生成

一、使用主成分进行特征降维

对于给定的一组特征,在保留信息量的同时减少特征的数量。

from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn import datasets
digits=datasets.load_digits()
features=StandardScaler().fit_transform(digits.data)
#创建可以保留99%信息量(用方差表示)的PCA
pca=PCA(n_components=0.99,whiten=True)
features_pca=pca.fit_transform(features)
print("Original number of features:",features.shape[1])
print("Reduced number of features:",features_pca.shape[1])

主成分分析法是一种最流行的线性降维方法。它的目标是用方差(Variance)来衡量数据的差异性,并将差异性较大的高维数据投影到低维空间中进行表示。绝大多数情况下,我们希望获得两个主成分因子:分别是从数据差异性最大和次大的方向提取出来的,称为PC1(Principal Component 1) 和 PC2(Principal Component 2)。

参数n_components有两种含义,由具体的参数值决定,如果值大于1,则n_components将会返回和这个值相同数量的特征,但这也带来一个问题,即如何选择最合适的特征数量。如果n_components的值在0和1之间,pca就会返回维持一定信息量(在算法中,用方差代表信息量)的最少特征数。通常情况下,n_components取值为0.95或0.99,意味着保留95%或99%的原始特征信息量。参数whiten=True,表示对每一个主成分都进行转换以保证它们的平均值为0、方差为1。另一个参数是svd_solver="randomized",代表使用随机方法找到第一个主成分(这种方法通常速度很快)

二、对线性不可分数据进行特征降维

使用Kernel PCA(核主成分分析,PCA的一种拓展)进行非线性降维。

一般来说,主成分分析(Principal Components Analysis, PCA)适用于数据的线性降维。而核主成分分析(Kernel PCA, KPCA)可实现数据的非线性降维,用于处理线性不可分的数据集


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值