2016-07-14 60 views
0

我熟悉算法的實現和新機器學習,但我在學術和生產之間存在差距。如何將機器學習模型部署到現有網站

我正在實施推薦系統和學習模型完成了很好的結果,然後我停下來,並問下一步該怎麼做?如何使用現有網站部署它

在學習期間,我使用了CSV數據集和本地機器,但在線將成爲數十萬用戶和數千用戶的數據庫。所以我認爲不可能加載所有數據並推薦給用戶。

問題是: 我將如何在生產中使用我的訓練模型?

回答

-1

我真的不明白你在這裏的意思。通常情況下,您會使用一定的訓練數據訓練模型。然後,使用一組特定的測試數據驗證您的模型。如果模型顯示出預示結果(例如「訓練良好」),它就會投入生產。

以購物推薦爲例。您已經培訓了一個模型,以根據以前的產品推薦下一款產品。現在,在生產中,如果您的客戶購買/查看新產品,那麼您可以使用此產品來提供算法,併爲您提供一組您可能選擇的其他產品。這與您的培訓/驗證數據一樣。

數據的來源通常不相關。但也許我真的不明白你的問題。你能詳細說明一下嗎?

+0

我知道如何訓練模型和檢查效率,我的問題是如何使用關係數據庫來實現我的模型? ..如果我推薦一些電影給看過一部電影的新用戶,然後我會推薦類似的電影..如何衡量這些相似之處?會有像矢量包含電影及其相似之處或用戶相似之處..如何使用關係數據庫實現這些方法說「mysql」 –

+1

你在用什麼語言編寫模型?應該有一個mysql連接器(參見[這裏是python](https://pypi.python.org/pypi/mysql-connector-python/2.0.4))。然後連接到數據庫服務器,獲取所需的數據並將其輸入到算法中。 – sQu4rks

+0

@AhmedSyam:可能這個鏈接會回答你的問題。 [鏈接](https://www.quora.com/What-is-the-easiest-way-to-deploy-a-machine-learning-model-say-a-regression-for-production) –

1

當你說「擁有數十萬用戶和數千用戶的數據庫」時。我想你的意思是「成千上萬的用戶和數千個項目」。 你有用戶協同過濾或項目過濾嗎?

如果是這樣,我猜thoose數字(10K * 1K)不會成爲任何體面的關係數據庫的問題。 基本上你創建了一張桌子,比如說「Rattings」,你存儲的地方是:UserId,ItemId和Ratting(如果你的「功能」是二進制文件,例如購買或不購買的物品,你可以省略這個棘手的文件)。

如果您的用戶項目矩陣稀疏,則此表格很小。 此外,您還可以創建一個「用戶」表,其中,在「Rattings」表中插入任何內容後,如果需要對預測和其他可能需要的數據進行歸一化,則可以預先計算用戶平均鼠標值。作爲一個經驗法則,在插入時不要做非常複雜的微積分操作,包括掃描其他表格,但如果這有助於避免在檢索數據以計算預測/建議時在其他表格中執行復雜掃描,則可以執行簡單的數學運算。

你可以從你這裏得到一些想法:http://lemire.me/fr/documents/publications/webpaper.pdf

考慮到關係數據庫是存儲,甚至它可以使用SQL計算幾乎所有的常規方案是使用關係數據庫進行過濾和加入,然後做其他層/特里的數學。

相關問題