無監督學習之主成分分析-半導體制造高維數據如何降維

在這里插入圖片描述
數據降維不只存在于半導體數據中,它是存在于各行各業的,我們要分析的數據維數較多的時候全部輸入維數較大這時就要采取降維的方法綜合出主要的幾列用于我們的分析。
在這里插入圖片描述
在這里插入圖片描述
PCA的哲學理念是要抓住問題的主要矛盾進行分析,是將多指標轉化為少數幾個綜合指標進行分析。
在這里插入圖片描述
在這里插入圖片描述
以二維空間為例的話 n 個樣本點無論是沿著X1軸方向或者X2軸方向都有很大的離散型,因為我們看到此時二維空間中的這個形狀是橢圓形的,如果只選取X1和X2中的任何一個那么包含在原始數據中的信息都會有較大的損失,如果將X1軸和X2軸先平移,再同時按逆時針方向旋轉一定角度,便會得到新坐標軸。
在這里插入圖片描述
得到的新的坐標軸F1和F2稱為原始變量X1和X2的綜合變量,旋轉變換后n個樣品在F1軸方向上的離散程度最大,即F1的方差最大,變量F1代表了原始數據的絕大部分信息,在研究某些問題時,即使不考慮F2也無損大局。
在這里插入圖片描述
以二維模型為例,經過變換后的F1和F2的方向如圖所示,同時我們可以擴展到多維模型,假如X是P維模型為例,我們會依次找出第一主成分和第二主成分等,但是找到的主成分的數量必然是遠遠小于P的。
在這里插入圖片描述
求解之后我們可以得到各特征根對應的特征向量,其中最大特征根的特征向量對應第一主成分的的系數向量;第二大特征根的特征向量是第二大主成分的系數向量,雖然我們知道最后要使用的主成分的數量是遠遠小于初始的數量,那么最終應該選擇幾個主成分就是由方差累計貢獻率決定,我們要求的方差累計貢獻率越高,最終需要的主成分個數相應也越多。

'''step1 調用包'''
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
'''step2 導入數據'''
data=pd.DataFrame(pd.read_excel('data_secom.xlsx'))
'''step3 數據預處理'''
# 查看各列缺失情況
data.isnull().sum()
#缺失值填充
datanew = data.fillna('0')
#數據標準化,消除特征量綱的影響
#將屬性縮放到一個指定范圍,即(x-min)/(max-min)
scaler = MinMaxScaler()
scale_data = pd.DataFrame(scaler.fit_transform(datanew))
'''step4 PCA降維'''
#選擇保留85%以上的信息時,自動保留主成分
pca = PCA(0.85)
data_pca = pca.fit_transform(scale_data) #data_pca就是降維后的數據
data_pca_new = pd.DataFrame(data_pca)
print("保留主成分個數為:",pca.n_components_) #顯示保留主成分個數
#選取前兩主成分作圖
plt.scatter(data_pca[:,0], data_pca[:,1])
plt.xlabel('PC 1')
plt.ylabel('PC 2')
plt.show()

一、調用必要的包

'''step1 調用包'''
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

此時需要注意的是看PCA是從哪調用的
二、導入數據

data=pd.DataFrame(pd.read_excel('data_secom.xlsx'))

在這里插入圖片描述
此時我們可以看到我們讀入的數據的行數和列數是非常大的。
三、數據預處理

'''step3 數據預處理'''
# 查看各列缺失情況
data.isnull().sum()
#缺失值填充
datanew = data.fillna('0')
#數據標準化,消除特征量綱的影響
#將屬性縮放到一個指定范圍,即(x-min)/(max-min)
scaler = MinMaxScaler()
scale_data = pd.DataFrame(scaler.fit_transform(datanew))

在這里插入圖片描述
查看各列的缺失值情況后用 0 進行填充,同時再將屬性進行標準化從而縮放到一個指定范圍。
在這里插入圖片描述
標準化后的數據如圖所示
四、PCA降維

'''step4 PCA降維'''
#選擇保留85%以上的信息時,自動保留主成分
pca = PCA(0.85)
data_pca = pca.fit_transform(scale_data) #data_pca就是降維后的數據
data_pca_new = pd.DataFrame(data_pca)
print("保留主成分個數為:",pca.n_components_) #顯示保留主成分個數

在這里插入圖片描述
在這里插入圖片描述
這里我們可以看到選取不同的方差貢獻率之后,需要保留的主成分個數是不同的,
這段代碼使用PCA(Principal Component Analysis)對數據進行了降維處理。
具體步驟:

  1. 創建PCA對象pca,設置降維比例為0.95。
  2. 調用PCA對象的fit_transform()方法,輸入歸一化后的數據scale_data。
  3. fit_transform()先擬合數據,找到主成分方向,然后進行降維轉換。
  4. 其中參數0.95表示保留95%的信息量進行降維。
  5. 返回的data_pca就是降維處理后的結果數據。
  6. 將其轉換為DataFrame格式,存儲在data_pca_new中。
    這樣就可以利用PCA對高維數據進行預處理,去除冗余信息,降低維度,減少特征間相關性。
    降維比例需要根據實際情況來設置,一般0.9-0.99之間。保留越多信息,降維效果越小。
    PCA降維是機器學習中常用的一種維數約簡方法,可以有效簡化模型,防止過擬合。在這里插入圖片描述
    大家此時可以看到降維后的數據現在是有118列,行數是沒有變化的。
#選取前兩主成分作圖
plt.scatter(data_pca[:,0], data_pca[:,1])
plt.xlabel('PC 1')
plt.ylabel('PC 2')
plt.show()

最后再選取前兩個主成分作圖進行可視化分析。
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38542.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38542.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38542.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

前端技術棧es6+promise

let入門使用、 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>let 基本使用</title><script type"text/javascript">let name "hspedu教育";//老韓解讀//1. conso…

蘋果Mac像Windows一樣使用

一、將磁盤訪問設置的像Windows一樣&#xff1a; 1.1、點擊任務欄第一個按鈕打開“訪達”&#xff0c;點擊菜單欄上的訪達-偏好設置&#xff1a; 1.2、勾選“硬盤”&#xff0c;這樣macOS的桌面上就會顯示一個本地磁盤&#xff0c;之后重命名為磁盤根&#xff0c;相當于window…

SPF9139全力適配ios16與鴻蒙3.0,超實用數據提取、分析、恢復能力UP!

? 如今&#xff0c;群聊已成為人們必不可少的溝通窗口 家人群&#xff0c;好友群&#xff0c;班級群 粉絲群&#xff0c;交友群&#xff0c;工作群 …… 各類群聊鋪天蓋地般涌來的同時 也有一些群聊淪為了 賭博、傳播淫穢視頻、發表不當言論 等違法犯罪行為滋生之地 與…

mac 可以進行單片機(stm32)的開發嗎?

當涉及到在Mac上進行單片機開發時&#xff0c;是完全可行的。以下是為什么Mac適合單片機開發的解釋&#xff1a;開發工具&#xff1a;針對STM32單片機&#xff0c;你可以使用多種開發工具。一個常用的選擇是Segger Embedded Studio&#xff0c;它是一個功能強大的集成開發環境&…

ClickHouse(十八):Clickhouse Integration系列表引擎

進入正文前&#xff0c;感謝寶子們訂閱專題、點贊、評論、收藏&#xff01;關注IT貧道&#xff0c;獲取高質量博客內容&#xff01; &#x1f3e1;個人主頁&#xff1a;含各種IT體系技術&#xff0c;IT貧道_Apache Doris,大數據OLAP體系技術棧,Kerberos安全認證-CSDN博客 &…

IDEA常用設置與maven項目部署

目錄 前言 一、Idea是什么 二、Idea的優點 三、Idea的常用設置 主題設置 設置鼠標懸浮提示 忽略大小寫提示 自動導包 取消單行顯示Tabs 設置字體 配置類文檔注釋信息模版 設置文件編碼 設置自動編譯 水平或者垂直顯示代碼 快捷方式改成eclipse 設置默認瀏覽器…

Java并發編程(六)線程池[Executor體系]

概述 在處理大量任務時,重復利用線程可以提高程序執行效率,因此線程池應運而生。 它是一種重用線程的機制,可以有效降低內存資源消耗提高響應速度。當任務到達時&#xff0c;任務可以不需要的等到線程創建就能立即執行線程池可以幫助我們更好地管理線程的生命周期和資源使用,…

Jmeter - 函數助手

目錄 __StringFromFile __CSVRead __counter __RandomString __StringFromFile StringFromFile函數用于獲取文本文件的值&#xff0c;一次讀取一行 1、輸入文件的全路徑&#xff1a;填入文件路徑 2、存儲結果的變量名&#xff08;可選&#xff09; 3、Start file sequence …

Tomcat+Http+Servlet

文章目錄 1.HTTP1.1 請求和響應HTTP請求&#xff1a;請求行請求頭請求體HTTP響應&#xff1a;響應行&#xff08;狀態行&#xff09;響應頭響應體 2. Apache Tomcat2.1 基本使用2.2 IDEA中創建 Maven Web項目2.3 IDEA中使用Tomcat 3. Servlet3.1 Servlet快速入門3.2 Servlet執行…

游戲中的UI適配

引用參考&#xff1a;感謝GPT UI適配原理以及常用方案 游戲UI適配是確保游戲界面在不同設備上以不同的分辨率、屏幕比例和方向下正常顯示的關鍵任務。下面是一些常見的游戲UI適配方案&#xff1a; 1.分辨率無關像素&#xff08;Resolution-Independent Pixels&#xff09;&a…

CentOS 8 安裝 oracle 23c CentOS9 Error deal

1.環境準備 軟件準備 序號 軟件 下載地址 1 VirtualBox https://www.virtualbox.org/wiki/Downloads2 CentOS Stream 8 https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/isos/x86_64/CentOS-Stream-8-x86_64-latest-dvd1.iso3 oracle-database-free-23c # cd ~/Down…

Vue 3 中定義組件常用方法

在Vue 3 中有多種定義組件的方法。從選項到組合再到類 API&#xff0c;情況大不相同 1、方式一&#xff1a;Options API 這是在 Vue 中聲明組件的最常見方式。從版本 1 開始可用&#xff0c;您很可能已經熟悉它。一切都在對象內聲明&#xff0c;數據在幕后由 Vue 響應。它不是…

C語言實現快速排序

什么是快速排序&#xff1f; 快速排序&#xff08;Quick Sort&#xff09; 是一種高效的分治法排序算法。它通過選擇一個基準元素&#xff0c;將數組分成小于基準的部分和大于基準的部分&#xff0c;然后遞歸地對這些部分進行排序&#xff0c;最終將它們合并起來&#xff0c;完…

【廣州華銳視點】VR警務教育實訓系統模擬真實場景進行實踐訓練

隨著科技的發展&#xff0c;虛擬現實技術在教育領域得到了廣泛的應用。VR警務教育實訓系統就是其中的一種應用&#xff0c;該系統由廣州華銳互動開發&#xff0c;可以模擬真實的警務場景&#xff0c;讓學生通過虛擬現實技術進行實踐訓練&#xff0c;提高學生的實踐能力和技能水…

.NET6使用微信小程序授權登錄,獲取手機號

1.在appsettings配置你的小程序配置信息 //微信小程序信息配置"WechatConfig": {"appid": "", //小程序ID"secret": "" //小程序秘鑰},2.請求接口時先獲取Access_token #region 獲取小程序的Access_tokenpublic object GetA…

Linux:shell腳本循環語句

目錄 一、循環含義 二、echo命令 三、for 3.1.將1到100累加求和 3.2批量添加用戶 3.3 根據IP地址檢查主機狀態 四、 while 和 until 4.1 猜價格 4.2 1-100求和 一、循環含義 循環含義 將某代碼段重復運行多次&#xff0c;通常有進入循環的條件和退出循環的條件 重復…

視頻匯聚平臺EasyCVR視頻監控播放平臺WebRTC流地址無法播放的問題解決方案

開源EasyDarwin視頻監控TSINGSEE青犀視頻平臺EasyCVR能在復雜的網絡環境中&#xff0c;將分散的各類視頻資源進行統一匯聚、整合、集中管理&#xff0c;在視頻監控播放上&#xff0c;TSINGSEE青犀視頻安防監控匯聚平臺可支持1、4、9、16個畫面窗口播放&#xff0c;可同時播放多…

Linux的ln命令

ln是link的縮寫,在Linux中 ln 命令的功能是為某一個文件在另外一個位置建立一個同步的鏈接&#xff0c;當我們需要在不同的目錄&#xff0c;用到相同的文件時&#xff0c;我們不需要在每一個需要的目錄下都放一個必須相同的文件&#xff0c;我們只要在某個固定的目錄&#xff0…

Ubuntu18.04.4裸機配置

下載虛擬機Ubuntu18.04.4 鏈接&#xff1a;https://pan.baidu.com/s/1jyucyUSXa9-Fw9ctuU87hA 提取碼&#xff1a;o42a –來自百度網盤超級會員V5的分享 VMware選擇鏡像安裝 設置你的用戶名&#xff0c;就像windows上登錄用戶一樣簡單 下一步……下一步……如此簡單 下載…

Floyd(多源匯最短路)

Floyd求最短路 給定一個 n 個點 m 條邊的有向圖&#xff0c;圖中可能存在重邊和自環&#xff0c;邊權可能為負數。 再給定 k 個詢問&#xff0c;每個詢問包含兩個整數 x 和 y&#xff0c;表示查詢從點 x 到點 y 的最短距離&#xff0c;如果路徑不存在&#xff0c;則輸出 impo…