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

基于集成學(xué)習(xí)的電影票房預(yù)測

2023-08-23 08:19:00張濤陳瀟瀟
電子制作 2023年14期
關(guān)鍵詞:特征優(yōu)化模型

張濤,陳瀟瀟

(北方工業(yè)大學(xué), 北京,100144)

0 引言

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

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

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

1 相關(guān)工作

■1.1 評價指標(biāo)

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

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

式中:n為樣本數(shù),為預(yù)測值,yi為真實(shí)值。

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

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

Kaggle上的評分是指當(dāng)用戶提交對測試集的預(yù)測結(jié)果時,kaggle對測試集的預(yù)測結(jié)果的打分,kaggle上的評分越低,排名越靠前,模型預(yù)測效果越好。

■1.2 Optuna框架

Sklearn 的GridSearchCV函數(shù)可通過網(wǎng)格搜索與交叉驗(yàn)證的方式來進(jìn)行超參數(shù)優(yōu)化,但由于其會遍歷給定范圍內(nèi)的所有超參數(shù)組合,所以非常耗時,特別是當(dāng)超參數(shù)的數(shù)量增長時,網(wǎng)格搜索的時間復(fù)雜度將呈現(xiàn)指數(shù)增長。

Optuna 是一個完全用 Python 編寫的自動超參數(shù)調(diào)整框架。專為機(jī)器學(xué)習(xí)而設(shè)計,可以與 PyTorch、TensorFlow、Keras、SKlearn 等其他框架一起使用。

Optuna 的優(yōu)化程序中只有三個核心的概念,分別為目標(biāo)函數(shù)(objective),單次試驗(yàn)(trial),和研究(study)。其中目標(biāo)函數(shù)負(fù)責(zé)定義待優(yōu)化函數(shù)并指定超參數(shù)范圍,單詞試驗(yàn)對應(yīng)著目標(biāo)函數(shù)的單次執(zhí)行,而研究則負(fù)責(zé)管理優(yōu)化,決定優(yōu)化的方式,記錄總試驗(yàn)的次數(shù)、試驗(yàn)結(jié)果等。

■1.3 傳統(tǒng)stacking算法介紹

stacking 算法一般采用兩層結(jié)構(gòu),第一層的學(xué)習(xí)器被稱作初級學(xué)習(xí)器,也被稱為基學(xué)習(xí)器,常用作對經(jīng)過處理后的原始樣本的訓(xùn)練和預(yù)測,第二層的學(xué)習(xí)器為次級學(xué)習(xí)器,也被稱為元學(xué)習(xí)器,用于結(jié)合第一層的驗(yàn)證集與測試集的預(yù)測結(jié)果再次進(jìn)行學(xué)習(xí)。

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

圖1 stacking算法的流程圖

■1.4 改進(jìn)stacking算法介紹

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

圖2 次學(xué)習(xí)器中精度加權(quán)的改進(jìn)

2 數(shù)據(jù)預(yù)處理

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

由于Kaggle提供的數(shù)據(jù)為未經(jīng)過處理的原始數(shù)據(jù),其中包含有文本類型的數(shù)據(jù),不能將其直接輸入模型訓(xùn)練,需要進(jìn)行數(shù)據(jù)預(yù)處理,數(shù)據(jù)預(yù)處理包括正態(tài)化處理、數(shù)值化處理以及標(biāo)準(zhǔn)化處理。

(1)正態(tài)化處理

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

(2)數(shù)值化處理

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

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

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

(3)標(biāo)準(zhǔn)化處理

標(biāo)準(zhǔn)化處理是指通過一定的數(shù)據(jù)變換方式,將數(shù)據(jù)落入到特定區(qū)間內(nèi),使結(jié)果更具有可比性。標(biāo)準(zhǔn)化的處理方式有極差標(biāo)準(zhǔn)化法,即min-max標(biāo)準(zhǔn)化法、Z-score標(biāo)準(zhǔn)化法、歸一化法、中心化法。本文采用的是min-max標(biāo)準(zhǔn)化法,該方法的具體轉(zhuǎn)換公式如下。

式中x′為轉(zhuǎn)換后的數(shù)據(jù),min為原始數(shù)據(jù)的最小值,max為原始數(shù)據(jù)的最大值,x為原始數(shù)據(jù)。

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

3 實(shí)驗(yàn)

對于第一層的初級學(xué)習(xí)器來說,搭建模型的主要任務(wù)即是進(jìn)行模型的超參數(shù)優(yōu)化,常用的超參數(shù)的優(yōu)化方法有網(wǎng)格搜索、隨機(jī)搜索、貝葉斯優(yōu)化等, Optuna優(yōu)化框架支持以上所有優(yōu)化方法,因此本文選用了Optuna框架對模型的超參數(shù)進(jìn)行優(yōu)化。

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

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

根據(jù)Optuna優(yōu)化框架得到的基于XGBoost的票房預(yù)測模型的主要超參數(shù)如表1所示。

表1 XGBoost模型的超參數(shù)表

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

基于LightGBM的電影票房預(yù)測模型的主要超參數(shù)有num_leaves, min_data_in_leaf, max_depth, learning_rate 。nums_leaves為LightGBM中每棵樹上的葉子節(jié)點(diǎn)的個數(shù),默認(rèn)值為31,增大num_leaves的值能提高模型預(yù)測的準(zhǔn)確率,但過高會導(dǎo)致模型過擬合。min_data_in_leaf為LightGBM中一個葉子節(jié)點(diǎn)上的最小樣本數(shù),默認(rèn)值為20,增大min_data_in_leaf可以防止過擬合。與XGBoost類似,max_depth為樹的最大深度,learning_rate為學(xué)習(xí)率。

根據(jù)Optuna優(yōu)化框架得到的基于LightGBM的票房預(yù)測模型的主要超參數(shù)如表2所示。

表2 LightGBM模型的超參數(shù)表

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

基于CatBoost的電影票房預(yù)測模型的主要超參數(shù)有iterations, learning_rate, depth, bagging_temperature。與XGBoost類似,iterations為可以建立的樹的數(shù)目,learning_rate為學(xué)習(xí)率,depth為樹的深度,bagging_temperature為貝葉斯套袋控制強(qiáng)度,默認(rèn)值為1。

根據(jù)Optuna優(yōu)化框架得到的基于CatBoost的票房預(yù)測模型的主要超參數(shù)如表3所示。

表3 CatBoost4模型的超參數(shù)表

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

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

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

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

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

基于隨機(jī)森林的票房預(yù)測模型的主要超參數(shù)有n_estimators, max_depth, min_samples_leaf和max_features。與XGBoost類似,max_depth 為決策樹的最大深度,n_estimators為決策樹的個數(shù), min_samples_leaf為葉子節(jié)點(diǎn)所需的最小樣本數(shù),默認(rèn)值為1,若葉子節(jié)點(diǎn)樣本數(shù)小于min_samples_leaf,則對該葉子節(jié)點(diǎn)和兄弟葉子節(jié)點(diǎn)進(jìn)行減枝,只留下該葉子節(jié)點(diǎn)的父節(jié)點(diǎn)。max_feature為構(gòu)建決策樹最優(yōu)模型時考慮的最大特征數(shù)。

根據(jù)Optuna優(yōu)化框架得到的基于隨機(jī)森林的票房預(yù)測模型的主要超參數(shù)如表5所示。

表5 基于隨機(jī)森林的票房預(yù)測模型的超參數(shù)表

(6)基于改進(jìn)stacking算法的票房預(yù)測模型

在對以上五個模型進(jìn)行集成時,本文選用的是嶺回歸算法進(jìn)行集成。分別記錄下每折驗(yàn)證集真實(shí)值與預(yù)測值的差異,對對應(yīng)測試集的結(jié)果進(jìn)行加權(quán),即得到最終預(yù)測結(jié)果。

將本文提出的基于改進(jìn)stacking算法的票房預(yù)測模型與基于XGBoost、LightGBM、CatBoost 、隨機(jī)森林、支持向量回歸、傳統(tǒng)stacking算法的票房預(yù)測模型的實(shí)驗(yàn)結(jié)果進(jìn)行對比,最終結(jié)果如表6所示。

表6 不同算法的指標(biāo)對比

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

4 總結(jié)與展望

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

猜你喜歡
特征優(yōu)化模型
一半模型
超限高層建筑結(jié)構(gòu)設(shè)計與優(yōu)化思考
民用建筑防煙排煙設(shè)計優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
如何表達(dá)“特征”
不忠誠的四個特征
抓住特征巧觀察
主站蜘蛛池模板: 国产一区二区视频在线| 天堂岛国av无码免费无禁网站| 午夜福利无码一区二区| 欧美中文一区| 国产99精品视频| 91精品久久久久久无码人妻| 综1合AV在线播放| 精品1区2区3区| 色婷婷丁香| 国产女人在线| 久久永久精品免费视频| 国产乱论视频| 浮力影院国产第一页| 亚洲精品成人7777在线观看| 亚洲无线观看| 国产91透明丝袜美腿在线| 视频一区视频二区中文精品| 国产一区二区丝袜高跟鞋| 久久夜夜视频| 欧美啪啪一区| 午夜激情婷婷| 国产高清免费午夜在线视频| 很黄的网站在线观看| 国产亚洲欧美在线视频| 美女一级毛片无遮挡内谢| 国产成人精品免费av| 欧美精品v| 国产精品尤物铁牛tv| 91久久国产综合精品女同我| 国产熟女一级毛片| 亚洲视屏在线观看| 亚洲色无码专线精品观看| 99re在线视频观看| 野花国产精品入口| 国产综合日韩另类一区二区| 亚洲精品大秀视频| 国产精品亚洲一区二区在线观看| 精品国产Av电影无码久久久| 呦女亚洲一区精品| 国产成人做受免费视频| 一级爆乳无码av| 国产无人区一区二区三区| 国产一在线| 色偷偷av男人的天堂不卡| 青青国产视频| 在线观看国产精品第一区免费| 高清不卡毛片| 成人国内精品久久久久影院| 人妻无码中文字幕第一区| 久久精品国产精品青草app| 亚洲天堂区| 国产青榴视频| 欧美成人精品一级在线观看| 狠狠色噜噜狠狠狠狠奇米777| 国产视频入口| 狠狠亚洲五月天| 欧美视频在线不卡| 亚洲精品777| 亚洲狠狠婷婷综合久久久久| 国产真实二区一区在线亚洲| 国产精品亚洲va在线观看| 亚洲最新地址| 欧美黄网站免费观看| a级毛片毛片免费观看久潮| 婷婷六月在线| 国产亚洲精品自在线| 在线精品自拍| 日韩欧美中文在线| 97人人模人人爽人人喊小说| 国产小视频a在线观看| 日韩第一页在线| 国产一级片网址| 精品视频在线观看你懂的一区| 夜精品a一区二区三区| 人妻91无码色偷偷色噜噜噜| 国产男女免费完整版视频| 中文字幕在线播放不卡| 欧美全免费aaaaaa特黄在线| 欧美日韩成人在线观看| 国产精品自在线拍国产电影 | 狠狠操夜夜爽| 午夜精品福利影院|