1

我是新來的機器學習火花。我正在試驗協作過濾使用ALS算法。在這個算法中,我需要一些關於rank,numIterations和lambda的參數,這些參數用於訓練算法。我需要知道如何調整最小和最大的數據集的算法,以產生改進的預測。有人可以解釋這一點嗎?什麼是ALS.train()中的rank,numIteraions和lambda?

+0

這總是取決於數據。使用交叉驗證來選擇這些。一些直覺(通常是正確的):較高的等級:需要更多的數據;更高的等級:需要更多的regulization/lambda。 – sascha

+0

有一個想法。謝謝... @sascha –

回答

0

從文檔:

numBlocks是用於並行計算(設置 爲-1到自動配置)塊的數目。

排名是要使用的功能的數量(也稱爲潛在因子的數量)。

迭代是運行ALS的迭代次數。 ALS通常在20次或更少的迭代中收斂到合理的解決方案。

numBlocks與矩陣的塊有關。

rank是隱藏的因素,您想要使用的功能的數量。閱讀更多here

迭代是您要執行的重複次數。參數的名稱是而不是 numIterations。

瞭解更多關於ALS here


我需要知道如何調整訓練參數,以提高預測與數據更少和高多少?

這總是取決於數據。使用交叉驗證來選擇這些。

+0

謝謝gsamaras。我有ALS的基本思想是處理矩陣分解模型。我需要知道如何調整訓練參數以增加數據量越來越少的預測? –

+0

我同意Sascha在此,更新了我的答案。祝你好運! – gsamaras

相關問題