看板 DataScience 關於我們 聯絡資訊
咪納桑大家好 我最近在處理一份資料,想要預測商品購買類別 資料有連續型變數跟類別變數,然後我想問的是 ---第一點--- 當類別有5個的時候,例如 A B C D E 我想把他轉成虛擬變數(這可以叫做 one-hot 嗎) [1,0,0,0,0] [0,1,0,0,0] [0,0,1,0,0] [0,0,0,1,0] [0,0,0,0,1] 但以前學統計的時候,都會希望虛擬變數會是類別數 - 1 所以應該是轉成 [1,0,0,0] [0,1,0,0] [0,0,1,0] [0,0,0,1] [0,0,0,0] 所以我想問,這兩種轉換方式在神經網路跟其他機器學習的方法會有差嗎 ---第二點--- 當類別變數有順序並且等距的時候,還需要轉成 one-hot 嗎 例如 A B C D E 是否可以轉成 1 2 3 4 5 ,會不會比用第一點的方式好 ? ---第三點--- 在做神經網路處理的時候,每個變數都需要做標準化, 那轉成 one-hot 的資料還需要做標準化嗎 另外像是這種大部分都是零的矩陣,在神經網路似乎要用不同的方法去做 好像是甚麼稀疏矩陣特別處理的,這我還沒研究,可以的話希望也可以提點一下 不好意思,我英文不太好,爬文速度很慢,但是我還是會辦法從其他地方找答案 但能提點小弟的部分就麻煩大家了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.119.143.27 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1536481302.A.1FB.html
b05703: 那樣是one hot encoding沒錯,我個人比較prefer第一種 因 09/09 16:39
b05703: 為我們在output 的時候喜歡用sigmoid 或softmax來把各類別 09/09 16:39
b05703: 變成機率的樣子 所以一比較直觀~ 09/09 16:39
b05703: 另外不推薦1,2,3,4,5這樣 因為在做back propagation 09/09 16:41
b05703: 的時候效果跟onehot encoding有差 09/09 16:41
b05703: 如果你類別數沒特別多的話不用考慮稀疏矩陣 09/09 16:42
我這個類別變數的部分是 X 變數 不是 y 變數 這樣是符合您說嗎 ,謝謝回答,非常感激 ※ 編輯: zxc741qaz123 (140.119.143.27), 09/09/2018 17:03:00
Mchord: 不能用12345的理由是因為希望C到A跟C到B的距離要一樣,依 09/09 17:02
Mchord: 此類推… 09/09 17:02
它的 A B C 意思是 年齡 11~15 16~20 21~25 所以我想問是不是能轉成 1 2 3 感激回應 ※ 編輯: zxc741qaz123 (140.119.143.27), 09/09/2018 17:04:31
b05703: X變數y變數是啥意思你是不是把feature跟label搞混啦 我們 09/09 17:11
b05703: 只會對label做one hot encoding 09/09 17:11
恩恩,我這篇問的是 feature , 所以如果 feature 是類別的話不會做 one hot encoding 嗎 如果不做的話通常會怎麼處理呢。 ※ 編輯: zxc741qaz123 (140.119.143.27), 09/09/2018 17:31:13
b05703: 不好意思我理解可能有誤 剛剛查了下資料有看到對feature 09/09 18:17
b05703: 做onehot的部分 但我不太熟悉就留給其他高手補充 至於若f 09/09 18:17
b05703: eature 有大小關係的話 應該是可以那樣表示的然後再normal 09/09 18:17
b05703: ize到0跟1之間這樣比較好train~有誤再指出感恩 09/09 18:17
jackwang01: 神經網路的類別變數,我覺得還是用第一種方式就好,就 09/10 03:53
jackwang01: 算其實有年齡這類的上下關係 09/10 03:53
jackwang01: 另外就我的理解,轉one hot應該就不用標準化了,有錯 09/10 03:55
jackwang01: 請指正謝謝 09/10 03:55
EGsux: 第一題 你學的統計是對的 一模一樣的東西 統計學過都能用 09/10 10:32
EGsux: 來ML不用怕 09/10 10:32
EGsux: 第二點要看變數跟 Y的關係 09/10 10:35
EGsux: 數據本來就0跟1也不用做標準化 如果覺得 one hot 維度過多 09/10 10:37
EGsux: 就 dimensionality reduction 09/10 10:37
yoyololicon: feature可以one hot阿 像我最近寫fftnet 輸入就是qu 09/10 18:47
yoyololicon: antized後的類別 09/10 18:47
Wush978: 現在除了做dummy variable外還流行做embedding了 09/10 21:27
tsoahans: one-hot我還是會做標準化 因為他不一定是zero mean unit 09/11 16:50
tsoahans: variance 這可能會有影響 09/11 16:50
tsoahans: 但應該不會差太多就是了 09/11 16:51
zianz113: 2. 不好 這樣e會比較“特別” 除非你有需求/已知特性 09/22 03:03
zianz113: 3. 也不好 這樣a跟e的差距比其他任兩類都大 09/22 03:03
zianz113: 除非有已知的knowledge 否則會先“公平”看待每類 09/22 03:04