[問題] PCA
問題類別: ML 將MINST data set PCA降維
使用工具: python numpy scikit-learn
問題內容: 想請問各位大大,如果實做完PCA之後,
用scikit-learn比對是否正確,結果發現座標都差一個負號,
請問可能是什麼原因呢?
這個是我做出的結果
https://imgur.com/KRY3oWp
這個是scikit-learn的結果
https://imgur.com/49I5gzF
以下是我的程式碼 data是5000x784維的矩陣(5000個784pixel的數字)
mean=ml.repmat(np.mean(self.data,axis=0),self.data.shape[0],1)
X=self.data-mean
U,_,_=np.linalg.svd(np.transpose(X))
self.projection=np.dot(self.data,U[:,:2])
簡單來說就是把data的平均平移到0,然後對他做SVD,
取出最大的兩個eigenvector後將資料投影上去,
下面是我scikit-learn的程式碼
pca=PCA(n_components=2)
self.projection=pca.fit_transform(self.data)
請問問題可能出在哪呢?
感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.71.119 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1559754447.A.CBC.html
→
06/06 01:14,
5年前
, 1F
06/06 01:14, 1F
→
06/06 01:15,
5年前
, 2F
06/06 01:15, 2F
沒有欸,我是直接把data set丟進去
我試試!
推
06/06 04:55,
5年前
, 3F
06/06 04:55, 3F
→
06/06 09:59,
5年前
, 4F
06/06 09:59, 4F
其實我也覺得沒關係,只是好奇為什麼會跟scikit-learn的結果不一樣
※ 編輯: TampaBayRays (140.113.207.57 臺灣), 06/06/2019 14:05:50
推
06/06 23:58,
5年前
, 5F
06/06 23:58, 5F
原來是這樣!感謝~
推
06/07 00:41,
5年前
, 6F
06/07 00:41, 6F
※ 編輯: TampaBayRays (36.229.138.132 臺灣), 06/07/2019 13:34:54
推
06/07 22:02,
5年前
, 7F
06/07 22:02, 7F
DataScience 近期熱門文章
PTT數位生活區 即時熱門文章