【含视频链接,快速使用】sklearn包中PCA(主成分分析)使用方法

本文详细介绍了如何通过PCA进行特征降维,强调了线性回归中降维的重要性,并提供了关键参数n_components的选择策略,包括累积可解释方差贡献率曲线的应用。此外,还展示了如何使用sklearn库进行PCA操作并解读其属性如explained_variance_和explained_variance_ratio_。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

教学视频
参数详解
基本过程
降维后的特征是无法解释的,所以线性回归不能用降维
在这里插入图片描述

重要参数n_components(不能太大或太小)

在这里插入图片描述

import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.decomposition import PCA

pca = PCA(n_components=2) # 实例化 我们想要降维后是2维
pca = pca.fit(X) # 拟合模型 X为降维前特征矩阵
X_dr = pca.transform(X) # 获取降维后的新特征矩阵 X_dr为降维后的2维矩阵

# 将上方3行写成1行
X_dr = PCA(2).fit_transform(X)

# 属性explained_variance,查看将为后每个新特征向量上所带的信息量大小(可解释性方差的大小)
pca.explained_variance_ # 返回降维后的每个维度的方差,越大说明带的信息量越大
# 属性explained_variance_ratio,查看降维后每个新特征向量所占的信息占原始数据总信息量的百分比
pca.explained_variance_ratio_ # 降维后每个维度占原来总的信息量的百分比
pca.explained_variance_ratio_.sum() # 降维后占降维前信息量的百分比

选择最好的n_components:累计可解释方差贡献率曲线

在这里插入图片描述

选累积性方差突然变得平滑的转折点作为n_components

import numpy as np
pca_line = PCA().fit(X)
plt.plot([1,2,3,4],np.cumsum(pca_line.explained_variance_ratio_))
plt.xticks([1,2,3,4]) # 这是为了限制坐标轴显示为整数
plt.xlabel("number of components after dimension reduction")
plt.ylabel("cumulative explained variance")
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值