sklearn中的PCA使用方法

2021-10-23 01:13:46 字數 1155 閱讀 7663

最近在做資料分析的實驗,在準備進行pca資料降維的時候產生了疑問,既然訓練集和測試集不能放在一起降維,那如何讓測試集的維度降到和訓練集一樣,看到sklearn提供的方法裡有乙個tranform實現了這個功能,豁然開朗。不知道sklearn裡的lda和其他降維方法有沒有類似的功能,歡迎大佬指點。若以後學習到了,回來填坑

1. 函式原型及引數說明

這裡只挑幾個比較重要的引數進行說明。

sklearn.decomposition.pca(n_components=none, copy=true, whiten=false)

2. pca物件的屬性

3.pca常用方法

4.簡單例子

import numpy as np

from sklearn.decomposition import pca x = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) pca = pca(n_components=2) newx = pca.fit_transform(x) print(x) out[365]: [[-1

-1] [-2

-1] [-3

-2] [ 1

1] [ 2

1] [ 3

2]] print(newx) out[366]: array([[ 1.38340578, 0.2935787 ], [ 2.22189802, -0.25133484], [ 3.6053038 , 0.04224385], [-1.38340578, -0.2935787 ], [-2.22189802, 0.25133484], [-3.6053038 , -0.04224385]]) print(pca.explained_variance_ratio_) [ 0.99244289

0.00755711]

可以發現第乙個特徵可以99.24%表達整個資料集,因此我們可以降到1維:

pca = pca(n_components=1)

newx = pca.fit_transform(x)

print(pca.explained_variance_ratio_)

[ 0.99244289]

sklearn中的PCA模型

sklearn中提供了較為豐富的pca模型來解決資料的降維問題,其包括 1 pca 最原始的pca演算法 2 truncatedsvd 原始資料不做中心化處理的pca演算法,可用於文字資料 tf idf處理後 的隱藏語義分析 lsa 3 sparsepca 新增l1正則化處理後的pca演算法,用最小...

scikit learn中PCA的使用方法

原博文 blog 在前一篇文章 主成分分析 pca 中,我基於python和numpy實現了pca演算法,主要是為了加深對演算法的理解,演算法的實現很粗糙,實際應用中我們一般呼叫成熟的包,本文就結束scikit learn中pca使用的方法和需要注意的細節,參考 sklearn.decomposit...

PCA的使用方法

author wepon blog 在前一篇文章 主成分分析 pca 中,我基於python和numpy實現了pca演算法,主要是為了加深對演算法的理解,演算法的實現很粗糙,實際應用中我們一般呼叫成熟的包,本文就結束scikit learn中pca使用的方法和需要注意的細節,參考 sklearn.d...