中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

一部電影能否大賣?用機器學習來精準預(yù)測吧

2019-09-19    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

電影數(shù)據(jù)庫(TMDB)為電影數(shù)據(jù)提供了一個API,人們可以從該數(shù)據(jù)庫中下載數(shù)據(jù)。那么,在僅知道電影上映前的部分信息的情況下,是否能預(yù)測電影的評分和票房?什么參數(shù)最能預(yù)測一部好的或最賣座的電影?采用什么陣容或用什么演員是否能幫助預(yù)測電影票房?

我們隨機地在90%的電影上做了一個模型,并在剩下的10%的電影上測試了該模型。而對于這些測試模型的電影:

準確地預(yù)測電影票房具有一定的挑戰(zhàn)性。按照外行的說法,在電影發(fā)行前,只知道有關(guān)電影的一些事實,這個模型( R² = 0.77)可以做出準確的預(yù)測——例如,電影公司可以提前決定是否在一段時間內(nèi)發(fā)行一部電影。

預(yù)測電影評分更為困難。如果和僅預(yù)測每部電影的平均評分(得到 R² 值為 0.53)相比,我們或許可以做得更好一些。

知道Denny Caira嗎?電影攝制組被認為是在評分預(yù)測中區(qū)分電影好壞的關(guān)鍵因素,也是好評和差評電影間最大的區(qū)別。攝制組對電影好壞的影響程度比演員要大得多。

我們發(fā)現(xiàn)了一些有趣的東西。下面可以查看與高分和高票房電影最相關(guān)的演員名單。

 

 

數(shù)據(jù)

 

 

數(shù)據(jù)標記得很好,但會涉及太多細節(jié)。我們作如下總結(jié):

電影數(shù)據(jù)庫是基于電影界建立的,其數(shù)據(jù)由大眾提供,因此,并非所有數(shù)據(jù)都確實存在或十分準確。例如,該數(shù)據(jù)庫中有900多個收益值缺失。

忽略了一些無用變量,例如片名和主頁。顯然這些變量并不能用于預(yù)測電影是否成功。

一些變量由于某些原因被移除:(1)出品國,因為其中的信息存儲在出品公司;(2)原版語言,因為該部分主要為口語,除了少數(shù)例外;(3)受歡迎程度,因為很明顯這是電影上映后衡量的。

作為輸入項的變量為:

預(yù)算
題材列表
上映日期——分為年份和日期
語言列表
上映時長
出品制作公司名單
演員陣容
攝制團隊陣容
關(guān)鍵詞——提示用戶的關(guān)鍵詞列表。誠然,一些關(guān)鍵詞只有在電影上映后才會知道,但并沒有透露太多。代表性關(guān)鍵詞是“基于小說”給出的。

 

用于預(yù)測模型的變量有:

用戶投票(類似于IMDb評級,本文稱為“評分”)
用戶報告的票房收入(本文稱為“票房/收入”)

數(shù)據(jù)準備

源鏈接: https://github.com/rian-van-den-ander/explorations/tree/master/film_success/data_prep.py

問題1:票房數(shù)據(jù)不夠好

我們移除了零收入行,共900行。這樣做并不好,但不能通過零收入行預(yù)測電影票房。

我們調(diào)整了票房收入以適應(yīng)通脹。最初,我們以為這并不會有什么不同,但事實上將R²值提高了0.02。

問題2:如何表示上映日期?

我們決定將變量分為具體年和一年中的具體天。分為具體年是因為票房收入肯定與世界人口和社會模式相關(guān)。分為一年中的具體天是因為電影票房可能與圣誕節(jié)或暑期等時間上映有關(guān)。這么做是有效果的,因為用一年中的具體天預(yù)測票房收入是預(yù)測模型中前30個重要變量。

一個更大的問題3:許多是JSON列表

一些專欄有內(nèi)置的列表:每種題材、關(guān)鍵詞、出品制作公司、語言、演員陣容、攝制組事實上都是題材、關(guān)鍵詞等的列表。我們所知的機器學習并不能處理這些數(shù)據(jù)。

必須創(chuàng)建一個新的庫來將這些列表轉(zhuǎn)換成適應(yīng)模型的專欄,這個過程稱為分類特征編碼。

這產(chǎn)生了一個新的問題:有太多的演員,攝制組人員和關(guān)鍵詞,電腦難以處理。因此,必須限制每個輸入列的值。這對模型來說不太好,因為我們現(xiàn)在只選了500名最普通的演員,500名最強演員,100個關(guān)鍵詞和100個電影制片廠。不過,這一問題可以通過把解決方案托管在云端,并在模型訓練中投入更多精力,或投入更多耐心而得到解決。

JSON演員列表行就如以下列舉的一樣:

[{"cast_id": 242, "character": "Jake Sully", "credit_id": "5602a8a7c3a3685532001c9a", "gender": 2, "id": 65731, "name": "Sam Worthington", "order": 0}, {"cast_id": 3, "character": "Neytiri", "credit_id": "52fe48009251416c750ac9cb", "gender": 1, "id": 8691, "name": "Zoe Saldana", "order": 1}, ....

它們將被轉(zhuǎn)化為更適合模型的列表,其中包含1s和0s

 

 

檢驗?zāi)P偷某晒π?/font>

我們選擇用一個普通的系數(shù)r²來表示模型的成功性。這是數(shù)據(jù)科學家處理回歸問題的默認選項,也是一個衡量作者的模型比預(yù)測每部電影的平均評分或票房要好多少的一個指標。

如果模型比選擇的平均值差,則為負。負值越大,則模型越差。
如果模型只選擇每部電影的平均評分或票房,則為零。
如果模型比選擇的平均值好,則為正,“1”為最佳模型。

當然,在某一時刻,當解決方案足夠好時,可以停止衡量而采用該方案。這個根據(jù)解決的問題不同而不同,但一般來說:

0.6-0.9指較好的模型。

以上任何一點如果太過完美,則會不夠真實,會存在不公平的變量輸入或過度擬合的問題。例如,在第一次模型運行中意外地包括了行計數(shù),由于數(shù)據(jù)是按收入排序的,所以該模型幾乎完美地預(yù)測了票房。

0–0.6意味著至少選擇了一些平均值數(shù)據(jù),但可能不夠好,以致模型無法用于作出重要的商業(yè)決策。

電影評分預(yù)測

源鏈接:

https://github.com/rian-van-den-ander/explorations/blob/master/film_success/film_rating_with_cast_best_regressor.py

對于模型選擇,使用XGBoost回歸器通過超參數(shù)網(wǎng)格搜索運行數(shù)據(jù)。我們在網(wǎng)格搜索中嘗試了其他幾個庫,包括隨機森林回歸器(random forest regressors)和一個性能非常好的神經(jīng)網(wǎng)絡(luò)。網(wǎng)格搜索大大提高了 XGBoost回歸器的性能,它在速度和精度方面都非常值得推薦。

當然,想要純粹地靠電影元數(shù)據(jù)準確預(yù)測電影評分有點像做白日夢。因為在元數(shù)據(jù)中,有很多變量是看不到的,比如腳本質(zhì)量,或者這是否是演員(如Johnny Depp)表現(xiàn)得最好的一個角色。

也就是說,我們得到的最好的模型結(jié)果是r²=0.53。按照機器學習標準,這是可以的。該模型解釋了超過平均評分的53%方差部分的差異。換句話說,模型雖然漏掉了許多變量,但仍然清楚地預(yù)測大多數(shù)電影比平均水平更好還是更差。

 

 

有趣的是,圖表展示了直觀的立竿見影的成效。為了更好地預(yù)測,模型必須是傾斜的。

什么是與電影評分最相關(guān)的變量?

XGBoost庫的輸出提供了它用于預(yù)測的性能(輸入變量)的重要性?紤]到模型本身并沒有做出完美的預(yù)測,這一點必須稍加考慮。然而,輸出提供了一個非常清晰的一點:

 

 

在這里,可以看到只有大約200個輸入變量較為重要。而剩下的部分基本上被算法移除了。未來有了更好的計算機,我們只需選擇更多的輸入變量(攝制團隊和演員陣容),并通過提前分析處理,挑選出那些與電影評分沒有關(guān)聯(lián)的變量。

在文本形式中,與電影評分最相關(guān)的變量如下。

免責聲明:這些可能會對評分產(chǎn)生負面影響,因為人們可能從其中幾個詞(恐怖、青少年)中進行挑選。該算法只輸出對其預(yù)測器影響最大的那些變量。

('Drama', 0.02771771)('Film runtime', 0.017870583) - !('Horror', 0.015099976)('Animation', 0.010213515)('John Lasseter', 0.0099559575) - of Pixar fame('Family', 0.009091541)('Comedy', 0.009024642)('Harvey Weinstein', 0.009003568)('Whoopi Goldberg', 0.008995796) - ?!('Bill Murray', 0.008862046)('Action', 0.008832617)('Documentary', 0.008824027)('Morgan Creek Productions', 0.008456202)('Franchise Pictures', 0.008374982)('Hans Zimmer', 0.008047262)('DreamWorks Animation', 0.007945064)('Hospital', 0.007892966)('Janet Hirshenson', 0.007849025)('Jason Friedberg', 0.007827318)('en', 0.0077783377) - English movies('Teenager', 0.0077319876)

電影收益預(yù)測——一項更為簡單的任務(wù)

源鏈接: https://github.com/rian-van-den-ander/explorations/blob/master/film_success/film_revenue_with_cast_best_regressor.py

正如人們所料,考慮到以下因素,這將是一項更簡單的任務(wù):

電影的預(yù)算很可能是一個很好的指標,表明它是否會成為賣座影片。

許多高收益電影都是超級英雄電影。

與前面的方法一樣,這個預(yù)測模型為R²=0.77。換言之,一個人可以在電影上映前基于輸入項建立一個非常好的收益預(yù)測模型。這會對現(xiàn)實世界產(chǎn)生影響:例如,一家電影院可以用它來提前預(yù)測他們想放映一部電影的時間長短。

 

 

這個看起來比我們的評分預(yù)測要好得多。當然,也有異常值,但它們在預(yù)測線的上方和下方的間隔十分均勻。

什么是與電影收益最相關(guān)的變量?

這個變量列表不會讓人感到驚訝。不過,免責聲明也同樣適用。變量可能會對收益產(chǎn)生負面影響,模型也并不完美。但這份列表證實了預(yù)算和收入之間的緊密聯(lián)系。畢竟,如果投資沒有回報,為什么會有人拍電影呢?

不出所料,超級英雄電影皮克斯動畫工作室 (Pixar) 的電影在這方面有著很強的表現(xiàn)力,其關(guān)鍵詞、工作室、題材和攝制組都排在列表前列。令人驚訝的是,制作出品人Denny Caira,比預(yù)算更重要。顯然,他在電影行業(yè)中是大名鼎鼎的人物!

('Denny Caira', 0.037734445)('Film Budget', 0.03122561)('Adventure', 0.025690554)('James Cameron', 0.024247296)('Pixar Animation Studios', 0.022682142)('David B. Nowell', 0.022539908)('marvel comic', 0.022318095)('Terry Claborn', 0.01921264)('John Williams', 0.015954955)('3d', 0.014985539)('Animation', 0.013459805)('John Ratzenberger', 0.013009616)('Christopher Boyes', 0.012793044)('Fantasy', 0.012175937)('Gwendolyn Yates Whittle', 0.011877648)('Lucasfilm', 0.011471849)('Christopher Lee', 0.011401703)('superhero', 0.010956859)('Jim Cummings', 0.010577998)('John Lasseter', 0.010427481)('Drama', 0.010378849)

片酬:演員與之最為相關(guān)

源鏈接:

https://github.com/rian-van-den-ander/explorations/blob/master/film_success/film_actors_to_ratings.py

因收益而改變的量。

注意:對于這個問題,我們在算法中涵蓋了更多的演員,并且沒有考慮其他變量,如攝制團隊和預(yù)算。這是在純粹討論演員與成功的電影之間的關(guān)系。這就是這里的變量列表與上文不完全一致的原因。

哪些演員與電影評分最相關(guān)?

('Robert Duvall', 0.011352766) - of Godfather fame('Morgan Freeman', 0.010981469)('Scarlett Johansson', 0.010919917)('Paul Giamatti', 0.0108840475)('Helena Bonham Carter', 0.010548236)('Jim Broadbent', 0.010294276)('Harrison Ford', 0.010112257)('Leonardo DiCaprio', 0.010015999)('Mark Ruffalo', 0.009964598)('Matthew Lillard', 0.00989507)('Ian Holm', 0.009870403)('Timothy Spall', 0.009850885)('Philip Seymour Hoffman', 0.009718503)('Rachel McAdams', 0.00953982)('Emily Watson', 0.009512347)('Alan Rickman', 0.009455477)('Keira Knightley', 0.009296855)('Eddie Marsan', 0.009277014)('Stan Lee', 0.0092619965)('Emma Thompson', 0.009148427)('Edward Norton', 0.00904271)

哪些演員與電影收益最相關(guān)?

顯然,Stan Lee并不能使電影制片人變得富有。他只不過是拍了漫威所有的電影。以下列表顯示的是演員與高票房(通常是超級英雄)電影的關(guān)聯(lián)性,而非顯示讓電影賣座的演員名單。

('Stan Lee', 0.04299625)('Hugo Weaving', 0.030377517) - "You hear that Mr, Anderson? That is the sound of inevitability. That is the sound of profit"('John Ratzenberger', 0.024940673) - In every Pixar film('Frank Welker', 0.018594962)('Alan Rickman', 0.01844035)('Gary Oldman', 0.018401919)('Geoffrey Rush', 0.018003061)('Christopher Lee', 0.017147299)('Robbie Coltrane', 0.015522939)('Ian McKellen', 0.015420574)('Timothy Spall', 0.0151223475)('Zoe Saldana', 0.014832611)('Stellan Skarsgård', 0.014798376)('Maggie Smith', 0.014290353)('Will Smith', 0.01418642)('Tom Cruise', 0.013842676)('Jeremy Renner', 0.013476725)('Alan Tudyk', 0.013410641)('Judi Dench', 0.01316438)('Leonardo DiCaprio', 0.01244637)('Liam Neeson', 0.012093888)

攝制團隊

最初,在構(gòu)建模型時,我們并沒有對攝制團隊進行分析。這是一個巨大的疏忽。模型中僅包括前200名制片人、編劇和導演,將票房預(yù)測R²從0.68提高到0.77。

令人印象更深刻的是,僅添加一種類型變量,評分預(yù)測R²從0.19提高到0.53。攝制團隊可以對電影評分預(yù)測產(chǎn)生30%多的方差。

提升空間

這一的方法并不完美,走捷徑放棄了大量有用的數(shù)據(jù)。如果要尋求最好的解決方案,特別是提高模型的評分預(yù)測,可以考慮以下問題:

考慮演員、關(guān)鍵詞、題材方面的所有數(shù)據(jù)。這將需要更高的處理能力,但可能有助于模型挑選出許多異常值,尤其是那些神秘的演員和導演,他們不僅僅是票房機器。

訓練模型:將模型超參數(shù)調(diào)回到評分預(yù)測將會略微提高其預(yù)測準確度。

運用PCA或LDA消除明顯不相關(guān)的變量。

選擇更好的參數(shù),通過更嚴格的參數(shù)網(wǎng)格運行XGBoost模型。

考慮到這個問題的嚴肅性,需探索神經(jīng)網(wǎng)絡(luò)解決方案。

標簽: 機器學習 大數(shù)據(jù)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:國內(nèi)外15大BI數(shù)據(jù)可視化工具

下一篇:阿里高級安全專家自述:阿里如何實現(xiàn)數(shù)據(jù)“可用不可見”