我正在使用布爾值,嘗試評估Mahout中的推薦引擎。我的問題是關於選擇評估函數的「正確」參數。提前爲冗長的帖子道歉。在Mahout中解釋基於項目的推薦器的evaluate()函數的參數
IRStatistics evaluate(RecommenderBuilder recommenderBuilder,
DataModelBuilder dataModelBuilder,
DataModel dataModel,
IDRescorer rescorer,
int at,
double relevanceThreshold,
double evaluationPercentage) throws TasteException;
1)你能想到在以下兩個參數必須被使用的示例的:對於double relevanceThreshold
可變
- DataModelBuilder dataModelBuilder
- IDRescorer rescorer
2),I中設置的值GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD,但是,我想知道是否可以通過設定不同的價值來建立「更好」的模式。
3)在我的項目中,我需要推薦每個用戶最多10個項目。這是否意味着爲變量int at
設置一個大於10的值是沒有意義的?
4)鑑於如果我不得不等待大量建模,我不打擾,將變量double evaluationPercentage
設置爲1是否是一個好習慣?你能想到任何情況下1不會給出最佳模型嗎? 5)爲什麼只要建議的數量(即變量int at
)增加(我通過實驗證明),爲什麼精度/回憶(注意我在處理布爾數據)會增加?
6)spiting of both testing and training tests
在mahout內發生了什麼,我怎麼能改變這個百分比(除非基於項目的建議不是這種情況)?