[英]Scikit learn/pandas - predict text(present in xlsx) on user input using machine learning
[英]Machine Learning to predict user engagements
我正在一個php項目中,需要根據以前的活動history來預測用戶喜歡或報告某個帖子。一旦我預測了一個新帖子,無論用戶是喜歡還是報告,我都可以將其自動化,而無需實際用戶手動進行操作為了實現該功能,我決定將python和php一起用作API服務。
這是我的表結構
post table
id post_title content sentiment channel
1 post1 content1 .92 facebook
2 post2 content2 .60 facebook
3 post3 content3 .40 twitter
4 post4 content4 .98 instagram
post_actions
id post_id user_id liked reported time_done
1 1 1 1 0 4:00pm
2 2 1 0 1 2:00pm
3 1 2 0 1 3:00pm
4 3 1 1 0 4:00pm
我想在這里預測讓user_id 1表示他喜歡或不喜歡的新帖子。同樣的情況也適用於報告。 我對推薦器system.i進行了大量研究,如果我沒記錯的話,我還進一步了解這是基於內容的推薦器。
我的參考如下
1) https://towardsdatascience.com/wine-ratings-prediction-using-machine-learning-ce259832b321
3) https://medium.com/@adamlouly/nlp-based-recommender-system-without-user-preferences-7077f4474107
我的ML功能是post_title,content,sentiment,channel,time_done我的問題是
1)推薦系統是否是解決此問題的好方法?
2)如果是,那么哪個余弦相似度更好或使用randomforest分類器進行訓練?
3)我可以將時間用作功能嗎?
我是python的新手,請提前幫助。
是的,這是經典的推薦系統問題。 解決此問題的方法很多,我建議從本文開始。 通常,推薦系統中有兩種方法-基於模型和基於內存。 以我的經驗,基於模型的方法的性能要比基於內存的方法好得多。 關於不同的模型和解決方案, 這里有一個不錯的摘要。
我既不建議余弦相似度也不建議隨機森林。 余弦相似度給出了非常高的一周相似度得分,並且隨機森林沒有按用戶個性化。 但是,如果您僅知道這兩個工具,請使用隨機森林。 通常,我建議使用矩陣分解,這樣往往會提供更高的准確性。
時間功能是非常重要的功能。 您應該創建幾個封裝時間因素影響的KPI。 例如,帖子的小時和工作日,用戶登錄到帖子創建之間的時間等等。
請注意,推薦系統是一個巨大的研究領域-因此您無法從一個帖子中獲得所有答案。 您將需要進行一些研究,並了解應如何匯總數據,用戶配置文件和項目配置文件的行為方式以及更多其他內容。 如果您是python的新手,我還建議您回顧一下R腳本語言,它具有許多用於推薦系統的工具,對於初學者而言,它比Python更直接。 (我使用R做了推薦系統博士學位論文)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.