iT邦幫忙

0

機器學習 python

我想請問這error怎麼解決 以看很多教學還是dataframe不能 還是我查詢的keyword方向不對
請問有什麼辦法能解決的 給個明燈 !!
我把time變成idx 我第二列是number
PCA 這樣使用time的時間會一起做嗎?(XXXX.XXX)
x.reshape(-1,2) 我也試過了不能使用
https://ithelp.ithome.com.tw/upload/images/20180618/20110175cORYH5RlcB.pnghttps://ithelp.ithome.com.tw/upload/images/20180618/20110175HjR71lnWzZ.pnghttps://ithelp.ithome.com.tw/upload/images/20180618/20110175OIaJzLyUEo.png

1 個回答

1
最佳解答

你要清楚PCA的意義是什麼,絕大多數使用PCA是希望把高維度的資料,以損失最小為最佳化條件,降到較低維度的空間,以濃縮資訊方便視覺化呈現,讓我們觀察資料的分布狀況。如果,你的資料本身就只有三個維度以內用PCA本身就是一件很奇怪的事情。

如果硬要用單維度的資料,我不太清楚PCA內部會如何處理這類型的資料,我猜應該不能處理,但是照理來說你應該要放入的資料應改長這樣....

x = [
    [x1_attr1, x1_attr2, x1_attr3, x1_attr4, x1_attr5, ...., x1_attrn],
    [x2_attr1, x2_attr2, x2_attr3, x2_attr4, x2_attr5, ...., x2_attrn],
    [x3_attr1, x3_attr2, x3_attr3, x3_attr4, x3_attr5, ...., x3_attrn],
    ......,
    [xn_attr1, xn_attr2, xn_attr3, xn_attr4, xn_attr5, ...., xn_attrn]
]

所以你如果要找到正確的input shape應該用x.reshape(-1, 1)。

  1. 後來看了一下你好像是兩個維度的資料,因為你data1[sd-0.02:sd+0.1]['number']已經把它變成單個維度的資料,如果你應該要另外創建一個欄位放index資料,如data1['time']=data1.index,然後把data1.values放入PCA中。
hoolada iT邦新手 5 級 ‧ 2018-06-19 19:22:29 檢舉

我的想法是pca降維後等於把雜訊 過濾了
所以我使用pca我這樣想法是正確的嗎?
用time跟number 使用pca

PCA是降維工具,如果你要把兩個維度降成一個維度,你可以試試看。但是我個人是覺得,兩個維度的資料本身已經很小,沒有必要再做降維。

hoolada iT邦新手 5 級 ‧ 2018-06-21 12:14:56 檢舉

OK 已理解 感恩!!

我要發表回答

立即登入回答