畢業設計--基于Django的電影推薦系統和論壇
說明
注冊普通使用者通過web界面來設定,建立建立使用者通過creeatsuperuser建立。下文有詳細指令
導入電影資訊通過insert_movies_script.py來操作 (會删除已有的所有資訊!)
前端展示 浏覽最多,評分最多,收藏最多,寫的比較直白,你可以改的委婉點: 最熱電影,火爆排行...之類的。每種有10條。
我猜你喜歡為基于使用者推薦,item推薦為基于項目推薦。兩種推薦思路下文有介紹
系統采用的技術
前端: bootstrap3 css 架構
後端: django 2.2.1 + sqlite3資料庫 (MVC架構)
資料: python異步爬蟲從豆瓣top250抓取資料,儲存到本地csv檔案中
主要功能: 錄入圖書資訊,使用者打分,電影标簽分類,電影推薦,電影分享,電影收藏,背景管理系統。
整體采用MVC架構,前端頁面通過django template模闆來實作,實作了模闆的複用功能。同時前端頁面的組織結構較為清晰。
推薦算法思路
通過協調過濾計算和其他使用者的距離,然後進行篩選。如果使用者數量不足,推薦數目不夠15條,就會自動從
所有未打分的電影中按照浏覽數降序選一部分填充進去。
基于使用者的推薦
使用者需要給電影打分。通過使用者已打分的部分來計算相似度,如果使用者未打分,或者沒有其他使用者,則按照浏覽數降序傳回。
通過pearson算法來計算使用者之間的距離,找到距離最近的N個使用者。将這些使用者中已打分的電影(且要推薦的使用者未看過的部分)傳回。
基于item的推薦
周遊目前使用者已打分的item,計算和未打分的item的相似距離。
對相似距離進行排序 傳回
主要實作的功能
登入注冊頁面
基于協同過濾的電影的分類,排序,搜尋,打分,排序功能。
基于協同過濾的周推薦和月推薦
觀影分享會等活動功能,使用者報名功能 (需要額外添加)
發帖留言論壇功能 (要額外添加)
基于spark的ALS算法 (要額外添加)
Mysql适配
movielens資料集适配
參考連結
fixed
首頁導航欄連結錯誤
首頁面為空
登入注冊頁面
推薦跳轉登入
周推薦使用者沒有評分時随機推薦
按照收藏數量排序
重新設計了 action 和UserAction model,拆分出了UserAction
電影模型
浏覽量 每次重新整理頁面的浏覽數
收藏量 user manytomany field 每個使用者收藏一次
評分 rate 每個使用者評分一次
在電影下面的評論加點贊功能
安裝運作方法
安裝依賴
将項目導入pycharm, 在pycharm配置python解釋器,3.7及以下都可以
打開終端 輸入pip install -r requirements.txt 若提示無pip。去下載下傳get-pip.py 運作python get-pip.py
在pip安裝過程中如果報錯C++ 14依賴問題。則安裝c++依賴工具。找不到找我要。如果安裝速度過慢,請更換國内鏡像https://blog.csdn.net/chenghuikai/article/details/55258957
安裝成功後,進入運作階段
運作
運作伺服器: python manage.py runserver
如果無資料,運作項目根目錄下的資料遷移腳本 populate開頭。
python manage.py createsuperuser 建立超級管理者, (密碼輸入時終端暫時看不到)
進入背景: 127.0.0.1:8000/admin
需要獲得永久更新和維護支援請聯系我
其他問題請聯系我