[問題] 資料中包含類別+數值型態建議怎麼處理

看板DataScience作者 (呼姆呼姆)時間6年前 (2018/03/17 13:50), 6年前編輯推噓4(403)
留言7則, 1人參與, 6年前最新討論串1/1
想請問版上神人們,如果一個input data裡面有很多column 有些column屬於類別型(factor),有些column屬於數值型態 這種時候各位先進通常都會把類別資料怎麼處理呢? 有想過使用dummy variable和one hot encoding 可是使用dummy variable的話,一個column的類別(Level)愈多,會轉出太多的column,資料會變太龐大 如果用one hot encoding轉換,那麼這個類別型column的如果有N種類別,那麼這個column 的每一筆資料都會轉成一個N維的vector,那麼這個column的維度就會變得跟其他數值資料 型態的column不太一樣,這樣我就不知道要怎麼把這些column合在一起當作X變數了 想請問版上大大們都是怎麼處理這類的問題,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.53.208 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1521265814.A.043.html

03/17 14:56, 6年前 , 1F
我現在都用entity embedding吧
03/17 14:56, 1F

03/17 15:01, 6年前 , 2F
然後後面看不太懂 是說跟數值一起訓練感覺很怪嗎?
03/17 15:01, 2F
假如資料長這樣(假設都是X變數) ┌────────┐ │ Letter number│ │1 "A" 9 │ │2 "B" 4 │ │3 "C" 8 │ │4 "D" 7 │ └────────┘ 那如果把Letter這個column做one hot encoding應該會變成這樣 ┌──────────┐ │ Letter number │ │1 [1,0,0,0] 9 │ │2 [0,1,0,0] 4 │ │3 [0,0,1,0] 8 │ │4 [0,0,0,1] 7 │ └──────────┘ 這種每個column維度不一樣的資料怎麼輸入到model裡呢? 第一個col會是array,第二個 依然是int或numeric

03/17 16:13, 6年前 , 3F
這個情形你的letter就會拆成四個numerical惹
03/17 16:13, 3F

03/17 16:14, 6年前 , 4F
所以以這個例子你現在變成有5個feature
03/17 16:14, 4F
那這樣不就跟轉dummy variable一樣了嗎 ※ 編輯: HumuHumu (114.32.209.214), 03/17/2018 17:30:55

03/17 17:48, 6年前 , 5F
其實這兩個還真的是一樣的 差一個維度而已
03/17 17:48, 5F

03/17 17:50, 6年前 , 6F
之所以要差個維度是要避免什麼多重共線性的東西
03/17 17:50, 6F

03/17 17:51, 6年前 , 7F
但這個在ML的世界不是什麼問題 所以都用one-hot
03/17 17:51, 7F
文章代碼(AID): #1QhAoM13 (DataScience)
文章代碼(AID): #1QhAoM13 (DataScience)