最近在做資料分析的實驗,在準備進行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...