主成分分析案例

本文介绍了一种处理半导体制造数据的方法,首先通过填充缺失值(用特征平均值替换NaN)来清洗数据,然后利用sklearn库中的PCA算法进行降维,保留前20个主成分。PCA降维后的数据显示了数据的主要分布,同时展示了这20个主成分解释的方差百分比,有助于理解数据的主要特征和信息损失情况。

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

利用 PCA 对半导体制造数据降维
数据集secom.data是半导体数据集,该数据集总共590个特征,要求利用pca算法对数据
(1)对数据清洗,清洗的方法就是将每个特征里取值为null值的用该特征的平均值代替。
(2)对清洗后的数据利用pca降维,只保留20个主成分。得到降维后的数据,以及前20个主成分对应的方差占总方差的
百分比并画出示意图。注:请使用sklearn中的pca进行降维
import numpy as np
np.set_printoptions(suppress=True)
data=np.genfromtxt('secom.data')
n,m=data.shape
print(m)
print(n)
print('处理前',data)
for i in range(m):
    inx=np.nonzero(~np.isnan(data[:,i]))
    meanVal=np.mean(data[inx,i])
    data[np.nonzero(np.isnan(data[:,i])),i]=meanVal
print('处理后',data)

在这里插入图片描述

from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
pca=PCA(n_components=20)
pca.fit(data)
ratio=pca.explained_variance_ratio_
print(ratio)

x=np.linspace(1,20,num=20)
plt.plot(x,ratio)
print(x)
plt.scatter(x,ratio,marker='^',c='r')
plt.xticks(x)
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

侬本多情。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值