2012-05-24 69 views
3

從以下鏈接我帶了一些想法。我想問問我是對的還是錯的。如果我錯了,請指導我。培訓libsvm文本分類(情緒)

鏈接
Using libsvm for text classification c#
How to use libsvm for text classification?

我的方式

首先計算每個訓練字計數設定
每個字

sample word count form training set 
|-----|-----------| 
|  | counts | 
|-----|-----|-----| 
|text | +ve | -ve | 
|-----|-----|-----| 
|this | 3 | 3 | 
|forum| 1 | 0 | 
|is | 10 | 12 | 
|good | 10 | 5 | 
|-----|-----|-----| 
創建一個馬平列表個

積極的訓練數據

this forum is good 

所以將訓練集是

+1 1:3 2:1 3:10 4:10 

這一切正是我從上面的鏈接獲得。
請幫幫我。

回答

4

你做得對。

我不知道爲什麼你的laben被稱爲「+1」 - 應該是一個簡單的整數(參考文檔「+ ve」),但總而言之,這是要走的路。

對於文檔分類,你可能想看看liblinear是專門爲處理很多功能而設計的。

+0

還有其他的事情,因爲我的樣品字數指數和我的訓練字索引的比賽,將指數從訓練字「這個論壇好「還是樣本字數統計的指標? 另外,如果一個單詞重複呢?像「這個論壇很好」如果「很」字有數3新訓練集會是什麼? – bunkdeath

+0

首先,這不是Stackoverflow的問題,但是:不知道我是否正確,但基本上你需要一系列放入svm的功能(=帶有屬性的文檔)。每組屬於第一個或第二個文檔類(1或2)。支持向量機然後將通過計算它們之間的餘量將它們分成兩組。當你現在給svm提供一個未分類/未知的文檔時,它會檢查它屬於哪個分類集並返回結果(你應該閱讀wikipedia)。 –

+0

爲了獲取特徵/屬性,您可以創建一個將單詞映射到ID的字典。就像在你的例子中,「this」這個詞有id 1,「forum」-2等等。當然,您對所有文檔使用相同的單詞<-> id關聯,因此您需要一個集中的字典。 –