2017-01-16 35 views
1

我有2個關於格式化上下文強盜模型訓練數據的問題。Vowpal Wabbit上下文強盜數據格式化

如果我有諸如以下數據...

1:1:0.2 | d1:us d2:female d3:12 

問題1)I從VW維基讀,每一個特徵是任選地隨後通過浮法。如果我有分類特徵(例如我們,女性)作爲價值觀,那麼重新格式化它們的最佳方式是什麼?我想我只是不會將它們後綴爲浮點數,讓它們的默認值爲1.我希望這將實現單熱編碼。

問題2)我已經通過登錄數據如下

1:1:0.2 | us female 12 

被錯誤地訓練模型我現在知道的是,「我們」,「女」和「12」爲治療特色默認值爲1.我正確嗎?

回答

1

是的,你是對的。

輸入要素格式爲:以<name>:<value>的每個要素空格分隔,其中:<value>(如果存在)必須是數字。

要表示分類值,您可以使用:以外的其他值作爲<name><value>之間的分隔符。在這種情況下,整個字符串將被視爲功能名稱。這通常被稱爲「單熱編碼」(每個可能的特徵+值組合被視爲單獨的特徵)。

還要注意的是特徵名稱12將由vw被散列直接在哈希表槽12(模2 ^比特),假設這是用戶想要的,因爲數字特徵是常見的(並且是LIBSVM公約)。這可以通過命令行上的選項--hash all禁用。缺省值是--hash strings含義:(murmur3)哈希要素名稱,它看起來像一個字符串(不是整數),而是獨立(不哈希)看起來像數字的特徵名稱。

參見:How to represent categorical features in vowpal-wabbit其包括備忘單用於vw代表輸入特徵。

相關問題