2011-03-07 100 views
7

我想創建我自己的和簡單的功能選擇算法。我將要使用的數據集是here(非常有名的數據集)。有人能給我一個關於如何做的指針嗎?最簡單的功能選擇算法

我打算爲文本分類編寫一個特徵排名算法。這是爲了對電影評論進行情感分析,將它們分爲正片或負片。

所以我的問題是如何爲文本數據集編寫簡單的功能選擇。

+0

這是一個很大的話題。有沒有特定的問題,或者您需要從哪裏開始? – 2011-03-07 17:36:14

+0

我只是想消除爲分類增加噪音的功能。但是,我如何系統地選擇這些類型的單詞?什麼是適當數量的功能,給了我最好的準確性和哪些單詞......我想這就是我想要算法的最終結果是 – aherlambang 2011-03-07 18:07:46

回答

3

特徵選擇方法是一個很大的話題。你可以用以下入手:

  1. 卡方

  2. 互信息

  3. 期限頻率

等,如果你有時間閱讀本文:Comparative study on feature selection in text categorization這將有助於你很多。

實際實施取決於您如何預處理數據。基本上它保持計數,不管它是散列表還是數據庫。

+0

除此之外,術語頻率似乎是不那麼強大的權利? – aherlambang 2011-03-07 19:26:40

+0

不可以。您想刪除嘈雜的詞語。假設一個術語只發生一次,那麼很可能是它的噪音(也許是一個拼寫錯誤的名字)。在決定之前,您需要運行一些測試。 – Xolve 2011-03-07 21:41:57

+0

一些測試,如?刪除頻率最低50位的條款,然後測試精度並繼續下去,直到頻率下降? – aherlambang 2011-03-07 22:11:53

0

以下是一個選項:使用pointwise mutual information。您的功能將是令牌,信息應根據情感標籤進行衡量。小心頻繁的單詞(停用詞),因爲在這種類型的任務中,它們實際上可能是有用的。

2

隨機功能工作良好,當時你正在建設合奏。它被稱爲特徵裝袋。

0

我目前使用這種方法:

計算平均每類數據的價值和方差。一個好的候選特徵應該有小的方差,平均值應該不同於其他類的平均值。

目前只有< 50個功能我手動選擇它們。爲了實現這個過程的自動化,可以計算所有類別中的平均值的差異,並給予那些具有較大方差的較高優先級。然後,首先選擇一個類別中具有較小差異的那些類別。

因爲這並不能消除多餘的功能。