2013-07-23 71 views
1

我現在正在研究一個文檔推薦程序,我有點兒被卡在這裏。 對於每個文檔,我都根據用戶的操作分配了一個分數。然後,當一個新文檔進入時,我需要預測用戶會喜歡它,並根據他們的分數再次重新整理所有文檔。我的解決方案是使用閾值將這些分數分爲「推薦」和「不推薦」。然後,naiveBayes或其他分類模型可以給我一個標籤或返回標籤的可能性(我正在使用NLTK包進行文本分析)。 我在正確的路上嗎?我的問題是,當我有這種可能性時,我怎麼能將它轉換成我用來排名的分數?或者我應該在scikit中使用邏輯迴歸呢? 謝謝!如何將概率轉換爲分數?

回答

0

我會建議嘗試一下SVM-Rank算法。它將一組「推薦」和「不推薦」向量作爲輸入,然後學習如何對它們進行排名,以便推薦的排在前面。在dlib中還有一個簡單的python工具可以用來實現它。這裏舉一個例子:http://dlib.net/svm_rank.py.html

+1

嗨大衛,這個例子非常簡單,樂於助人!我在看到@ Raff.Edward的回答後做了一些研究,看來svm-rank是解決方案之一,但所有的解釋都使用了很多公式,這些公式使得像我這樣的綠色手難以理解。你給的例子就是我正在尋找的。謝謝! – SSj

1

這聽起來像你試圖迫使排名問題進入分類問題。你真正想要做的是給予「查詢」的文件learn how to rank

+0

謝謝!我認爲你是對的。我正在解決的是排名問題。 – SSj