[問題] dummy variable

看板DataScience作者 (青茶無糖去冰)時間6年前 (2018/05/18 08:50), 6年前編輯推噓0(008)
留言8則, 1人參與, 6年前最新討論串1/1
問題類別: Dummy variable vs numeric 使用工具: python 問題內容: 板上各位好! 小弟有個小問題想請教, 在Sklearn中,如果遇到類別型變數都須透過轉dummy的形式來fit model, 那轉成0/1之後程式如何知道這是dummy variable呢? 怎麼不會跟其他numeric變數混為計算呢? 以naive bayes為例,x本就能是類別也能是數值, 那sklearn中的naive_bayes仍須先將類別轉成dummy, 這樣python不會將dummy視為一般數值處理嗎? 這個問題小弟困惑了一下,目前沒看到相關的說明,於是上來請教各位大大! 還希望各位大大解惑! 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.235.158 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1526604656.A.8AB.html

05/18 09:05, 6年前 , 1F
有點看不懂你的問題...轉成0/1就是要讓程式對所有的
05/18 09:05, 1F

05/18 09:05, 6年前 , 2F
變數一視同仁
05/18 09:05, 2F
因為我看naive bayes對於類別型跟數值型變數計算機率的方式不一樣,然而數值型計算 需要用到平均數跟標準差,這樣如果把類別轉成0/1不就會以數值型方式計算機率,而非 類別嗎? 不好意思!這問題好像好難解釋QQ ※ 編輯: chienjens (42.72.235.158), 05/18/2018 09:10:42

05/18 09:35, 6年前 , 3F
我是看不出有甚麼問題 冏
05/18 09:35, 3F

05/18 09:35, 6年前 , 4F
我不知道sklearn是怎麼做的 不過通常類別轉成0/1後還
05/18 09:35, 4F

05/18 09:35, 6年前 , 5F
還要做smoothing 不然直接算機率好像會有問題
05/18 09:35, 5F
先感謝y大回答! 因為轉成dummy後,從dataframe看是數值,如果y大說還要做smoothing,那我的問題應該 就是sklearn怎麼判斷這個column是dummy轉的0/1,進而做smoothing呢? 對於程式來說,0/1與其他數值變數不都是數值型嗎@@ ※ 編輯: chienjens (42.72.235.158), 05/18/2018 10:28:17

05/18 10:44, 6年前 , 6F
類別的型別通常是int吧 覺得判斷這個沒什麼難
05/18 10:44, 6F

05/18 10:53, 6年前 , 7F
你不用先轉成dummy sklearn都會自動幫你處理惹
05/18 10:53, 7F
因為類別型的資料(string) fit model就會出現錯誤,所以我是透過pd.get_dummies的方 式轉,轉過後是int沒錯,所以sklearn「有可能」是用int跟float判斷的囉? ※ 編輯: chienjens (42.72.235.158), 05/18/2018 11:16:35

05/18 13:36, 6年前 , 8F
其實你可以用labelencoder就不用轉one hot了
05/18 13:36, 8F
文章代碼(AID): #1Q_YDmYh (DataScience)
文章代碼(AID): #1Q_YDmYh (DataScience)