2016-04-23 95 views
2

嘗試向量化我的要素時遇到了一個棘手的問題。我有這樣一個特點:數據矢量化

  • 大部分是數字,如0,1,33.3,100等
  • 一些的是空的,這表示未設置。
  • 其中一些是「自動」,這意味着它適應上下文。

現在我的問題是,如何將這個特徵有效地編碼成矢量?我可以做的一件事就是將所有數值都視爲分類,但這會導致特徵空間的爆炸,也不利於表示類似的數據點。我該怎麼辦?

謝謝!

---算法/模式,我正在使用---

這是LSTM(長短期記憶)神經網絡。目前,我用下面的方法去說,我有2個數據點: col1 entry1: 1.0 entry2: auto

它會被編碼成: col1-a col1-b entry1: 1.0 0 entry2: dummy 1 所以COL1-B將代表無論是自動還是不行。虛擬數字將是所有數字數據的中位數。這會工作嗎?

此外,我對於每個數值都有一個關聯的單位,所以還有另一個欄的值爲'px','pt',在這種情況下,如果我將單位提取到另一列?它們在關聯時具有實際意義(數字+單元),但是NN可以注意到,如果它們處於不同的維度上?

回答

1

這取決於你將使用什麼類型的算法。如果你想使用類似關聯規則分類的東西,那麼你將不得不把所有的變量都視爲分類數據。如果你想使用邏輯迴歸,那就不需要了。你必須提供更多的細節才能得到更好的答案。

編輯 我在閱讀完編輯後做了一些編輯。

這聽起來像你有什麼是至少合理的。我讀過書籍,在這些書籍中,用戶使用均值/中位數/模式填寫數字數據的缺失值。至於哪一個特定的作品最適合你,我不知道。你可以嘗試用每個版本來訓練你的分類器嗎?

至於你的問題與「自動」列,這聽起來像你想要做一些類似的運行regression with categorical data。我對神經網絡沒有多少經驗,但是我知道如果你使用邏輯迴歸等方法,那麼這就是你想要使用的方法。希望這給你一個你必須研究的想法。至於將所有的數字數據視爲分類數據,您也可以這樣做,但您必須首先對其進行歸一化處理。你可以做一些像min-max normalization之類的東西,然後把數字的整數部分取出來。現在您的數據將與分類數據相同。

+0

非常感謝泰勒!我編輯了這個問題,並詢問了像'11px','12pt'這樣的矢量化。這現在更有意義了嗎? – MrW

+0

@MrW看我的編輯。 –

+0

非常感謝泰勒! – MrW