網際網路電影資料庫
那麼,如何預測一部電影IMDb評分?有哪些因素是影響IMDb評分的呢?本系列將使用機器學習來完成這一研究課題。
機器學習實驗課
本系列由4課組成
第3課 到底模型學了什麼?通過SHAP-Xgboost預測房價;第4課 洞察影響IMDb評分的原因、電影IMDb評分預測。程式語言是python,開發環境使用jupyter notebook。涉及的相關庫:
科學計算的基礎軟體包
pandas
sklearn
xgboost
catboost
shap
python繪圖庫,與numpy一起用
可有效替代MatLab
seaborn
基於matplotlib的圖形可視化python包opencv
paddlehub
便捷獲取PaddlePaddle生態下的預訓練模型
完成一鍵預測
線性回歸-最簡單的理解世界的方式
通過最簡單的線性回歸,同學們可以熟悉機器學習開發流程,包括數據集、數據預處理、訓練模型、評估模型、使用模型進行預測。然後,結合經典的糖尿病患者數據集,介紹了探索數據集、數據可視化的方法。二分類為例-理解模型的優缺點
以二分類問題為例,嘗試各種模型的使用,理解各種模型的優缺點,重點掌握樹模型:決策樹、隨機森林、梯度提升的使用。到底模型學了什麼?
以波士頓房價預測為例,重點練習seaborn探索數據集的各種圖表,掌握分析數據集的思路;然後練習xgboost的使用,掌握訓練、保存、加載以及如何使用模型;最後,介紹了SHAP值,通過SHAP值來了解模型學習到的特徵分布。是一個python庫,基於Shapley值的方法,使用合作博弈論來解釋機器學習模型學習輸入、輸出。Shapley值由Shapley在1953年創造,主要思想是根據玩家對總支出的貢獻來為玩家分配支出的方法,玩家根據貢獻值在聯盟中進行合作並從這種合作中獲得一定的收益。在波士頓房價的預測中,我們可以知道模型認為,人口狀況和住宅的房間數量是影響房價的關鍵因素。
針對每個預測的房價結果,還可以給出到底是因為什麼因素所得出的結論。比如下圖所示,房價16.6高於基礎報價14.14是由CRIM(犯罪率)和LSTAT(人口狀況)的情況所增加的。表達為數學公式可以為:f(x)=base_value+shape_values.sum()洞察IMDb評分及評分預測
使用kaggle上的IMDb的電影數據集,通過深度學習識別電影海報的人臉數量,作為特徵補充到數據集,然後把IMDb的評分作為目標值,訓練一個基於catboost的回歸模型,並通過shap值研究高分的決定特徵是哪些。年份雖然是主要的決定因素,但與評分的關係比較複雜;
海報中是否出現人物也是一個關鍵的因素;
喜劇、愛情、戰爭、犯罪劇普遍具有較高的評分;
動作、歷史、科幻具有較低的評分。
探索可能性
由於為了課程演示方便,僅從海報中提取了人臉數量,下一步可以拓展更多的特徵,比如海報中的內容、海報的主要色調、構圖形式、明暗等設計特徵,重點挖掘哪些設計特徵可能影響評分;當然,決定IMDb分數高低的因素肯定不止海報設計的好壞,還有電影本身的劇情,針對這個可以通過評論來挖掘劇情的特徵;另外,還有演員、導演等特徵。特徵越多,是不是代表著越能挖掘到影響IMDb評分的決定因素,以及是否可以預測得越準,有一定的可能性。但需要我們進一步通過實驗來進行探索。課程思考
為課程提供交流群,提供技術助教、導師等為同學們答疑;覆蓋了大部分的技術點(python庫),深入在梯度提升這一機器學習算法;《SHOW ME NOCODE》
助教(小哥哥)
MixLab 上海 北京 深圳 廣州Long-press QR code to transfer me a reward
贊後➕好友
As required by Apple's new policy, the Reward feature has been disabled on Weixin for iOS. You can still reward an Official Account by transferring money via QR code.