多元统计分析-半导体数据降维

文章探讨了在半导体制造中如何运用机器学习技术优化流程,特别是通过主成分分析(PCA)对包含590个特征的大数据集进行降维处理。首先,对数据集进行预处理,填充缺失值。接着,使用PCA进行分析,绘制崖底碎石图以确定不同贡献率下的主成分数量,并计算了不同阈值下的属性压缩比,以减少错误并节省成本。
摘要由CSDN通过智能技术生成

1.案例介绍 

半导体是在一些极为先进的工厂中制造出来的。工厂或制造设备不仅需要花费上亿美元,而且还需要大量的工人。制造设备仅能在几年内保持其先进性,随 后就必须更换了。单个集成电路的加工时间会超过一个月。在设备生命期有限,花费又极其巨大的情况下,制造过程中的每一秒钟都价值巨大。如果制造过程中存在瑕疵,我们就必须尽早发现,从而确保宝贵的时间不会花费在缺陷产品的生产上。一些工程上的通用解决方案是通过早期测试和频繁测试来发现有缺陷的产品,但仍然有一些存在瑕疵的产品通过了测试。如果机器学习技术能够用于进一步减少错误,那么它就会为制造商节省大量的资金。 接下来我们将考察面向上述任务中的数据集,而它也比前面使用的数据集更大,并且包含了许多特征。具体地讲,它拥有 590个特征。我们看看能否对这些特征进行降维处理。(数据集 secom.data) 

2.数据预处理 

本数据集存在缺失数据, 将每列的缺失值补全为该列的所有非缺失值的均值。  

3.利用 sklearn模块相关方法进行主成分分析 

(1)画出崖底碎石图,观察此图看是否个主成分的贡献率的差异情况; 
(2)选择不同的阈值 0.7,0.8,0.9,筛选出不同个数的主成分; 
(3)计算在不同阈值条件下属性的压缩比,即主成分个数/所有原始数据的属性个数

代码实现

 

# -*- coding: utf-8 -*-
"""
Created on Thu Apr  6 08:33:32 2023

@author: Yaxuan Shen
"""

import pandas as pd 
import numpy as np 
from sklearn.decomposition import PCA 
import matplotlib.pyplot as plt

# 1. 读取数据集 
data = pd.read_csv('C:/Users/Administrator/Desktop/secom.data', sep=' ', header=None) 

# 2. 数据预处理:将缺失值用列均值填充 
data = data.fillna(data.mean()) 

# 3. 主成分分析 
pca = PCA() 
pca.fit(data) 

# (1) 画出崖底碎石图
plt.plot(np.cumsum(pca.explained_variance_ratio_)) 
plt.xlabel('Number of Components') 
plt.ylabel('Cumulative Explained Variance') 
plt.show() 

# (2) 选择不同的阈值0.7,0.8,0.9,筛选出不同个数的主成分 
pca_07 = PCA(0.7) 
pca_08 = PCA(0.8) 
pca_09 = PCA(0.9) 
pca_07.fit(data) 
pca_08.fit(data) 
pca_09.fit(data) 
print("Number of components with 70% variance:", pca_07.n_components_) 
print("Number of components with 80% variance:", pca_08.n_components_) 
print("Number of components with 90% variance:", pca_09.n_components_) 

# (3) 计算在不同阈值条件下属性的压缩比 
total_features = data.shape[1] 
print("Compression ratio with 70% variance:", pca_07.n_components_ / total_features) 
print("Compression ratio with 80% variance:", pca_08.n_components_ / total_features) 
print("Compression ratio with 90% variance:", pca_09.n_components_ / total_features)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

轩Scott

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

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

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

打赏作者

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

抵扣说明:

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

余额充值