999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于集成學習的電影票房預測

2023-08-23 08:19:00張濤陳瀟瀟
電子制作 2023年14期
關鍵詞:特征優化模型

張濤,陳瀟瀟

(北方工業大學, 北京,100144)

0 引言

隨著社會經濟的發展,社會生活水平提高,看電影已經成為一項主要的娛樂活動。據國家統計局統計,2021中國票房近470億,幾乎是2019年中國票房的5倍[1]。盡管大多數公司都想從這個巨大的市場中分一杯羹,但只有幾部熱門電影實現了盈利,其他電影則在虧損[2]。因此,如何準確地預測電影票房,降低投資風險,避免公司因投資失敗而遭受巨大損失已成為亟需解決的問題。

隨著人工智能技術的快速發展,越來越多的學者將機器學習等數據挖掘技術應用于電影票房預測中,郭萱[3]以2014年-2016年的173部影片為研究對象,引入了基于條件推斷樹的隨機森林模型對電影票房進行預測,研究結果表明,基于條件推斷樹的隨機森林預測模型比傳統的隨機森林預測模型準確度更高。楊朝強[4]分別訓練了LSTM模型和BP神經網絡模型,得出了LSTM模型的平均相對誤差比BP神經網絡模型的平均相對誤差要低的結論。李振興[5]的研究結果表明,演員是影響電影票房的關鍵因素。甘雨涵[6]爬取了2016年全年在國內上映的150部電影的豆瓣評論信息,通過分析評論中的情感傾向,證明了口碑對電影票房的重要性。

在前人研究的基礎上,本文首先分別建立了XGBoost、LightGBM、CatBoost、隨機森林(Random Forest)和支持向量回歸(support vector Regression)票房預測模型,并通過optuna框架對五個票房預測模型的超參數進行優化,提高單個票房預測模型的預測精確度;然后,使用測試集,通過加權stacking算法進行了電影票房預測,并與傳統的票房預測模型進行了對比,驗證了模型的有效性。

1 相關工作

■1.1 評價指標

為了有效評估模型的預測效果,本文采用了平均絕對百分比誤差(MAPE)、均方誤差 (MSE)、均方根誤差(RMSE)以及kaggle上的評分這四項指標作為模型評價指標。

平均絕對百分比誤差(MAPE)表示的是真實值與預測值之差的絕對值占真實值之比。MAPE值越小,模型預測效果越好。具體公式如下:

式中:n為樣本數,為預測值,yi為真實值。

均方誤差(MSE)是指預測值與真實值的距離的平方和的平均數,MSE的值越小,模型預測效果越好,具體公式如下:

均方根誤差(RMSE)是均方誤差的算數平方根,RMSE的值越小,模型預測效果越好,具體公式如下:

Kaggle上的評分是指當用戶提交對測試集的預測結果時,kaggle對測試集的預測結果的打分,kaggle上的評分越低,排名越靠前,模型預測效果越好。

■1.2 Optuna框架

Sklearn 的GridSearchCV函數可通過網格搜索與交叉驗證的方式來進行超參數優化,但由于其會遍歷給定范圍內的所有超參數組合,所以非常耗時,特別是當超參數的數量增長時,網格搜索的時間復雜度將呈現指數增長。

Optuna 是一個完全用 Python 編寫的自動超參數調整框架。專為機器學習而設計,可以與 PyTorch、TensorFlow、Keras、SKlearn 等其他框架一起使用。

Optuna 的優化程序中只有三個核心的概念,分別為目標函數(objective),單次試驗(trial),和研究(study)。其中目標函數負責定義待優化函數并指定超參數范圍,單詞試驗對應著目標函數的單次執行,而研究則負責管理優化,決定優化的方式,記錄總試驗的次數、試驗結果等。

■1.3 傳統stacking算法介紹

stacking 算法一般采用兩層結構,第一層的學習器被稱作初級學習器,也被稱為基學習器,常用作對經過處理后的原始樣本的訓練和預測,第二層的學習器為次級學習器,也被稱為元學習器,用于結合第一層的驗證集與測試集的預測結果再次進行學習。

Stacking算法能夠結合每個基學習器的優點,提高模型的整體預測精度。Stacking算法的流程圖如圖1所示,假設第一層有兩個基學習器,每個基學習器分別對原始訓練集進行訓練, 得到驗證集的預測結果v1 和v2。對整個測試集的進行五次預測,將結果進行相加取平均得到測試集結果T1和T2。水平連接V1和V2得到新訓練集TrainNew,水平連接T1和T2得到新的測試集Testew,將新訓練集Trainnew與原始訓練集一同放入元學習器中進行訓練,將最終所得的元學習器對TestNew進行測試后即可得到測試集的最終預測結果。

圖1 stacking算法的流程圖

■1.4 改進stacking算法介紹

在傳統stacking算法中,在第二層進行集成時,僅僅是將測試集的預測結果進行的平均處理,這樣會平均掉表現好的模型的訓練結果。因此,可對次級學習器的每一折預測結果進行加權處理,從而提高模型在測試集上的表現,具體的示意圖如圖2所示,其中wi即為權值,權值為每一折驗證集的預測值與真實值的誤差,wi的計算方式如公式(4)所示,式中mape的定義如公式(1)所示。

圖2 次學習器中精度加權的改進

2 數據預處理

本文選取的是Kaggle競賽中的數據,數據來自于TMDB電影數據庫,數據集共有9399條,其中有5001條訓練集數據,4398條測試集數據。數據集共包括電影Id、系列電影名、電影預算、電影類型、電影官方主頁、TMDB官網id、原始語言、電影原始名稱、電影簡介、流行程度、海報鏈接、出品公司、出品國家、發行日期、電影時長、電影語言、電影狀態、宣傳語、電影名稱、電影關鍵詞、演員、導演和電影總收入這二十三個特征。其中,電影總收入為預測目標變量。

由于Kaggle提供的數據為未經過處理的原始數據,其中包含有文本類型的數據,不能將其直接輸入模型訓練,需要進行數據預處理,數據預處理包括正態化處理、數值化處理以及標準化處理。

(1)正態化處理

正態化處理是指將不符合正態分布的特征數據轉換成符合正態分布的特征數據。該數據集包含有電影預算和電影總收入這兩個不符合正態分布的特征,正態化處理方式有指數變換、對數變換、Box-cox變換等,需要根據數據的不同情況進行選擇,通常采用指數變換將左偏數據的數值較大的數據點間的距離增大,采用對數變換將右偏數據的數值較大的數據點間的距離縮小,而Box-cox變換既可以處理左偏數據,也可以處理右偏數據。本文使用的是對數變換對電影預算和電影總收入進行轉換,使分布不均的數據服從正態分布。

(2)數值化處理

數值化處理是指將類別型特征和文本型特征轉換成數值型特征,該數據集共包含有11個類別型特征,分別包括系列電影名、電影類型、電影官方主頁、出品公司、出品國家、電影語言、電影狀態、電影名稱、電影關鍵詞、演員、導演。該數據集有三個文本型特征,分別包括電影簡介、發行日期和宣傳語。

獨熱編碼,又稱一位有效編碼,是使用M位狀態寄存器對M個狀態進行編碼的方式,每個狀態都有它獨立的寄存器位,并且在任意時刻,這些寄存器位中只有其中一位有效。獨熱編碼能將類別型特征的取值擴展到歐式空間,有效擴充了特征,使特征之間的距離計算更合理。經過獨熱編碼,系列電影名、電影類型、電影官方主頁等11個類別型特征一共轉換成了113個數值型特征。

而對于電影簡介和宣傳語這兩個特征來說,將對應文本的長度作為特征的量化值;對于發行日期這個特征來說,將具體的年、月、日作為其量化值。

(3)標準化處理

標準化處理是指通過一定的數據變換方式,將數據落入到特定區間內,使結果更具有可比性。標準化的處理方式有極差標準化法,即min-max標準化法、Z-score標準化法、歸一化法、中心化法。本文采用的是min-max標準化法,該方法的具體轉換公式如下。

式中x′為轉換后的數據,min為原始數據的最小值,max為原始數據的最大值,x為原始數據。

刪除了電影Id、TMDB官網Id、原始語言、原始名稱、海報鏈接這五個無關特征后,最終形成了一共包含有9399條數據,143個特征的數據集。

3 實驗

對于第一層的初級學習器來說,搭建模型的主要任務即是進行模型的超參數優化,常用的超參數的優化方法有網格搜索、隨機搜索、貝葉斯優化等, Optuna優化框架支持以上所有優化方法,因此本文選用了Optuna框架對模型的超參數進行優化。

(1)基于XGBoost的票房預測模型

基于XGBoost的電影票房預測模型的主要超參數有max_depth, subsample, colsample_bytree和learning_rate,max_depth為XGBoost中樹的最大深度,max_depth的值越大,樹越復雜,模型學習的更加具體,系統默認值為6,一般設置在3~10之間。subsample為XGBoost中每棵樹隨機選擇樣本的比率,系統默認值為1,范圍在 (0,1]之間。colsample_bytree是構建每棵樹時隨機選擇特征的比例,系統默認值為1,范圍在在(0,1]之間。learning_rate為每一步迭代的步長,默認值為0.3,一般設置為0.1。

根據Optuna優化框架得到的基于XGBoost的票房預測模型的主要超參數如表1所示。

表1 XGBoost模型的超參數表

(2)基于LightGBM的電影票房預測模型

基于LightGBM的電影票房預測模型的主要超參數有num_leaves, min_data_in_leaf, max_depth, learning_rate 。nums_leaves為LightGBM中每棵樹上的葉子節點的個數,默認值為31,增大num_leaves的值能提高模型預測的準確率,但過高會導致模型過擬合。min_data_in_leaf為LightGBM中一個葉子節點上的最小樣本數,默認值為20,增大min_data_in_leaf可以防止過擬合。與XGBoost類似,max_depth為樹的最大深度,learning_rate為學習率。

根據Optuna優化框架得到的基于LightGBM的票房預測模型的主要超參數如表2所示。

表2 LightGBM模型的超參數表

(3)基于CatBoost的電影票房預測模型

基于CatBoost的電影票房預測模型的主要超參數有iterations, learning_rate, depth, bagging_temperature。與XGBoost類似,iterations為可以建立的樹的數目,learning_rate為學習率,depth為樹的深度,bagging_temperature為貝葉斯套袋控制強度,默認值為1。

根據Optuna優化框架得到的基于CatBoost的票房預測模型的主要超參數如表3所示。

表3 CatBoost4模型的超參數表

(4)基于支持向量回歸的票房預測模型

在使用rbf作為核函數的情況下,基于支持向量回歸的票房預測模型的主要超參數有gamma和C。其中,gamma決定了數據集映射到新的特征空間后的分布,gamma越大,支持向量越少。gamme越小,支持向量越多C是模型的正則化系數,默認值為1.0,主要用來防止模型過擬合,C值越大,對模型的懲罰越高,泛化能力越弱,即造成了過擬合。反之,C值越小,對模型的懲罰越低,泛化能力越強,即造成欠擬合。

根據Optuna優化框架得到的基于支持向量回歸的票房預測模型的主要超參數如表4所示。

表4 基于支持向量回歸的票房預測模型的超參數表

(5)基于隨機森林的票房預測模型

基于隨機森林的票房預測模型的主要超參數有n_estimators, max_depth, min_samples_leaf和max_features。與XGBoost類似,max_depth 為決策樹的最大深度,n_estimators為決策樹的個數, min_samples_leaf為葉子節點所需的最小樣本數,默認值為1,若葉子節點樣本數小于min_samples_leaf,則對該葉子節點和兄弟葉子節點進行減枝,只留下該葉子節點的父節點。max_feature為構建決策樹最優模型時考慮的最大特征數。

根據Optuna優化框架得到的基于隨機森林的票房預測模型的主要超參數如表5所示。

表5 基于隨機森林的票房預測模型的超參數表

(6)基于改進stacking算法的票房預測模型

在對以上五個模型進行集成時,本文選用的是嶺回歸算法進行集成。分別記錄下每折驗證集真實值與預測值的差異,對對應測試集的結果進行加權,即得到最終預測結果。

將本文提出的基于改進stacking算法的票房預測模型與基于XGBoost、LightGBM、CatBoost 、隨機森林、支持向量回歸、傳統stacking算法的票房預測模型的實驗結果進行對比,最終結果如表6所示。

表6 不同算法的指標對比

從表6中可以看出,單個模型中,基于XGBoost的票房預測模型性能最好,而基于傳統Stacking算法的票房預測模型的性能優于單個模型的性能,基于改進stacking算法的票房預測模型性能又優于基于傳統stacking算法的票房預測模型,可見改進stacking算法能充分挖掘和利用數據信息,在模型之間取長補短,最終取得更好的效果。

4 總結與展望

針對電影票房預測模型精確度低的問題,本文提出了一種對測試集加權的stacking算法,對 kaggle提供的TMDB電影票房數據集進行了預測。首先,分別訓練了第一層的XGBoost、LightGBM。CatBoost、支持向量回歸和隨機森林電影票房模型,并使用了Optuna參數優化框架找到了模型的最優超參數,優化了模型;然后,在對第一層的模型進行集成時,第二層使用了對測試集加權的嶺回歸算法。實驗結果表明,與其他算法所搭建的電影票房預測模型相比,基于對測試集加權的改進stacking算法所搭建的模型對電影票房的預測更加準確,效果更好。因此,本文的方法可以對投資公司進行電影票房預測提供有效的參考。然而,本文中使用的電影票房數據有限,將來需要更多的數據來構建魯棒性更強的票房收入預測模型。

猜你喜歡
特征優化模型
一半模型
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
主站蜘蛛池模板: 狼友视频国产精品首页| 综合网天天| 黄色三级网站免费| 91久久偷偷做嫩草影院电| 亚洲人成网站在线观看播放不卡| 91无码人妻精品一区| 国产成人午夜福利免费无码r| 狠狠亚洲五月天| 欧美国产日韩在线观看| 国产情精品嫩草影院88av| 亚洲成人黄色在线| 日日拍夜夜嗷嗷叫国产| 色婷婷成人| 亚洲第一天堂无码专区| 久久国产精品波多野结衣| 国产电话自拍伊人| 国产幂在线无码精品| 91精品专区| 亚洲 成人国产| 亚洲欧洲综合| 91色在线视频| 欧美日韩国产在线人成app| 久久99精品久久久久纯品| 中文字幕免费视频| 国产一二三区在线| 亚洲成a人在线播放www| 亚洲精品欧美日韩在线| 亚洲欧美h| 久久香蕉国产线| 嫩草在线视频| 国产精品爆乳99久久| 亚洲人成网站在线观看播放不卡| 热99re99首页精品亚洲五月天| 伊人精品视频免费在线| 精品欧美一区二区三区久久久| 玩两个丰满老熟女久久网| 91久久精品国产| 久久精品国产免费观看频道| 国产精品成人啪精品视频| 免费aa毛片| 国产99久久亚洲综合精品西瓜tv| 日日碰狠狠添天天爽| 色成人综合| 九九这里只有精品视频| 婷婷久久综合九色综合88| 日本黄色不卡视频| 香蕉综合在线视频91| 乱人伦视频中文字幕在线| 97亚洲色综久久精品| 乱人伦视频中文字幕在线| 一本综合久久| 亚洲区一区| 美美女高清毛片视频免费观看| 久草视频中文| 婷婷成人综合| AV不卡无码免费一区二区三区| 日本高清有码人妻| 国产爽爽视频| a级毛片免费网站| 在线国产毛片| 精品综合久久久久久97超人该| 国产超薄肉色丝袜网站| 小13箩利洗澡无码视频免费网站| 久久精品国产国语对白| 中文字幕欧美成人免费| 免费Aⅴ片在线观看蜜芽Tⅴ| 欧美成人二区| 亚洲欧美综合在线观看| 久久香蕉国产线看精品| 久久久久无码国产精品不卡| 午夜激情福利视频| 黄色网站在线观看无码| 久久天天躁狠狠躁夜夜躁| 在线色国产| 日本一区二区不卡视频| 男女猛烈无遮挡午夜视频| 国产成人精品优优av| 综合色亚洲| 内射人妻无套中出无码| 91破解版在线亚洲| 九九热视频精品在线| 国产亚洲精品在天天在线麻豆 |