2011-03-29 74 views
1

我計算TFIdf(術語頻率,逆文檔頻率),我已經看到在這一步之後,有必要使用像LSI,chi-square檢驗等方法來減少My Matrix的維數。矩陣的維數減少TFIDF

我還沒有任何想法如何我可以在java中實現卡方檢驗矩陣TFIDF的維度減少,如果有一些庫來做到這一點或教程,他們解釋了我可以做到這一點,告訴我請

+0

您是否正在使用稀疏矩陣表示? – 2011-03-29 22:55:20

+0

hi, 是larsmans,我計算了文檔中每個項的權重,爲了簡化,我使用了文檔頻率的方法,並刪除了所有項:如果文檔頻率<閾值但此方法不效率,現在我有一個稀疏矩陣。 請問我該如何在java中實現卡方檢驗和潛在語義索引。 謝謝 – WOW 2011-03-31 16:55:32

回答

0

我不認爲你想做卡方;這不是降維的技術。

你想要做的是SVD或奇異值分解。這是LSI/LSA用於降維的技術。

維基百科建議在Java中使用名爲'S-Space Pacakage'的LSA庫。我自己並沒有使用過它,但你可能想看看它。

http://code.google.com/p/airhead-research/

3

使用LSA,LDA的gensims庫。 它實際上可以爲任何大型數據集執行LSA。它不會一次將整個語料庫加載到內存中,而是進行懶讀。

+0

Gensim非常棒,但我相信OP正在尋找一個Java解決方案。 Gensim適用於Python。 – Jeff 2011-05-29 05:35:35