導航:首頁 > 電影資訊 > 如何對電影數據進行分析

如何對電影數據進行分析

發布時間:2023-01-13 18:02:02

① KNN 演算法-理論篇-如何給電影進行分類

KNN 演算法 的全稱是 K-Nearest Neighbor ,中文為 K 近鄰 演算法,它是基於 距離 的一種演算法,簡單有效。

KNN 演算法 即可用於分類問題,也可用於回歸問題。

假如我們統計了一些 電影數據,包括電影名稱,打鬥次數,接吻次數,電影類型 ,如下:

可以看到,電影分成了兩類,分別是動作片和愛情片。

如果現在有一部新的電影A,它的打鬥和接吻次數分別是80 和7,那如何用KNN 演算法對齊進行分類呢?

我們可以將打鬥次數作為 X 軸 ,接吻次數作為 Y 軸 ,將上述電影數據畫在一個坐標系中,如下:

通過上圖可以直觀的看出,動作電影與愛情電影的分布范圍是不同的。

KNN 演算法 基於距離,它的原理是: 選擇與待分類數據最近的K 個點,這K 個點屬於哪個分類最多,那麼待分類數據就屬於哪個分類

所以,要判斷電影A 屬於哪一類電影,就要從已知的電影樣本中,選出距離電影A 最近的K 個點:

比如,我們從樣本中選出三個點(即 K 為 3),那麼距離電影A 最近的三個點是《功夫》,《黑客帝國》和《戰狼》,而這三部電影都是動作電影。因此,可以判斷電影A 也是動作電影。

另外,我們還要處理兩個問題:

關於點之間的距離判斷,可以參考文章 《計算機如何理解事物的相關性》 。

至於K 值的選擇,K 值較大或者較小都會對模型的訓練造成負面影響,K 值較小會造成 過擬合 ,K 值較大 欠擬合

因此,K 值的選擇,一般採用 交叉驗證 的方式。

交叉驗證的思路是,把樣本集中的大部分樣本作為訓練集,剩餘部分用於預測,來驗證分類模型的准確度。一般會把 K 值選取在較小范圍內,逐一嘗試K 的值,當模型准確度最高時,就是最合適的K 值。

可以總結出, KNN 演算法 用於分類問題時,一般的步驟是:

如果,我們現在有一部電影B,知道該電影屬於動作電影,並且知道該電影的接吻次數是 7 ,現在想預測該電影的打鬥次數是多少

這個問題就屬於 回歸問題

首先看下,根據已知數據,如何判斷出距離電影B 最近的K 個點。

我們依然設置K 為3,已知數據為:

根據已知數據可以畫出下圖:

圖中我畫出了一條水平線,這條線代表所有接吻次數是7 的電影,接下來就是要找到距離 這條線 最近的三部(K 為 3)動作電影。

可以看到,距離這條水平線最近的三部動作電影是《功夫》,《黑客帝國》和《戰狼》,那麼這三部電影的打鬥次數的平均值,就是我們預測的電影B 的打鬥次數。

所以,電影B 的打鬥次數是:

本篇文章主要介紹了 KNN 演算法 的基本原理,它簡單易懂,即可處理分類問題,又可處理回歸問題。

KNN 演算法 是基於 距離 的一種機器學習演算法,需要計算測試點與樣本點之間的距離。因此,當數據量大的時候,計算量就會非常龐大,需要大量的存儲空間和計算時間。

另外,如果樣本數據分類不均衡,比如有些分類的樣本非常少,那麼該類別的分類准確率就會很低。因此,在實際應用中,要特別注意這一點。

(本節完。)

推薦閱讀:

決策樹演算法-理論篇-如何計算信息純度

決策樹演算法-實戰篇-鳶尾花及波士頓房價預測

樸素貝葉斯分類-理論篇-如何通過概率解決分類問題

樸素貝葉斯分類-實戰篇-如何進行文本分類

計算機如何理解事物的相關性-文檔的相似度判斷

② 電影評分數據統計分析的作用和意義

通過觀眾對電影的評分的分析,可以在一定程度上給電影行業啟發。數據分析是指用適當的統計分析方法對收集來的大量數據進行分析,將它們加以匯總和理解並消化,以求最大化地開發數據的功能,發揮數據的作用。數據分析是為了提取有用信息和形成結論而對數據加以詳細研究和概括總結的過程。

③ 豆瓣電影數據分析報告

        近年來電影產業迅猛發展,其已成為重要的藝術和娛樂。同時,電影也是說明一個國家的經濟水平。因此分析電影書有助於電影工業的發展趨勢。

1、 每年的電影的數量,以及每年的電影平均評分

2、 電影那種類型最多,以及前三名的百分比

3、 各個國家的電影數量最多

4、 中國跟美國各個年代對比

1、 每年的電影的數量,以及每年的電影分均分

        由圖可見,從 2000 年開始電影年產量的趨勢不斷上升,而近年些年的評分越來越

低,從評分均值上看一直屬於下滑狀態。可以推測出,電影的數量會有大幅的上升,

而電影的質量整體下滑。

2、 電影那種類型最多,以及前三名的百分比

        從詞雲圖的電影類型可見,劇情、動作、喜劇的電影類型出現的頻率很高。而從環形圖

中可以看出動作、喜劇、劇情這三個電影類型對比,歷年來劇情的電影類型是最多的,其

次是喜劇,由此可以了解觀眾的喜好。

3、電影數量在前五名國家的評分情況?

從樹狀圖可以看出美國的電影數量最多,其次是中國、日本、英國、法國。

4、中國跟美國各個年代對比?

        從圖中可以看出中國的電影發展趨勢一直處以上升階段,而美國的發展趨勢不太樂

觀。以目前中國的發展趨勢很快就會追上美國,目前美國還是領先階段。

④ 如何用聚類取把電影評分數據集分類

spss聚類分析如果是使用的歐式平方距離進行的分類會產生一張梯度表,利用它做圖可以形成聚類的樹狀圖,圖上距離越近的類別相似度越高,表格反而沒有樹狀圖看起來直觀。樹狀圖以距離為標准進行分類,一般學位論文或者期刊論文都採用發表樹狀圖的形式來進行聚類分析表述

⑤ 電影票房分析及預測

從20世紀初的西洋鏡戲法到今天占據全球電影業總產值的三分之一強,資本的加入讓好萊塢在過去百年的發展中變得越來越理智--比起商業片流水線締造者,它更像一個數學家--它精於計算每一項決定對利潤的貢獻:《蝙蝠俠》續集是否要接受男演員片酬的獅子大開口以獲得百分之幾的忠實粉絲買票入場;是否要在動作片的第37分鍾增加感情戲以爭取女性觀眾;是否要為這部爛透了的原著聘請收費高昂的劇本醫生;一個小金人編劇的名頭到底值多少錢……這就是在電影開機之前最為重要的環節:票房預測。

華爾街不僅給好萊塢帶來了密集的資金支持,也帶來了理性的金融工程技術,後者好像一把衡量藝術的尺子。一位浸淫於電影行業的金融人士一語中的:"在這個行業里充斥著曖昧不清、晦暗不明,有真正的藝術家、也有忽悠的吹水者,但到底怎麼判斷是否能合作,項目是否有投資價值,全憑經驗"。

如何預測
早在80年代,美國票房收入預測的先驅BarryLitman對美國80年代近700部電影進行分析推出票房收入預測模型。該系統對之後美國電影投資界產生了顛覆性的影響。電影票房預測系統能分析預測不同種類電影的票房價值,已經成為國際電影產業投融資的重要參考工具,對電影產品定價及衍生產品開發都具有較強的指導作用。

預測系統
電影票房量化分析及預測系統(Box Revenue Prediction)是在考察導演、主要演員、製片、發行及市場營銷、電影生命周期、電影類型、發行地區等影響電影票房的諸多因素基礎上,基於資產定價模型,綜合採用金融工程和回歸統計分析方法研發出的預測系統。它能分析預測不同種類電影的票房價值,成為電影產業投融資重要參考工具,對電影產品定價及衍生產品開發都具有較強的指導作用。

中國第一套BRP系統

2012年1月,中影集團聯合艾億新融資本推出了國內第一套基於電影票房預測的估值與定價分析系統--BRP系統。通過對過去4年中600多部影片的統計分析,該BRP系統發現了6條有趣的現象:

·低成本的影片一般會比大片更賣座

·無名小卒主演的影片要比明星主演的影片利潤率更高

·類型的藝術特徵跟利潤之間不存在直接關聯,但評論的多寡(無論好評或者劣評)跟利潤之間有密切關系

·不含暴力、色情成分的家庭影片最容易賺錢

·大片的續集要比普通新片更容易賺錢

·明星在為影片帶來更高票房的同時,也往往拉低了利潤率,因為大部分收入進了明星的口袋

⑥ 數據挖掘 | 數據理解和預處理

數據挖掘 | 數據理解和預處理
小編遇到過很多人(咳咳,請不要對號入座),拿到數據後不管三七二十一,先丟到模型中去跑,管它具體什麼樣呢,反正「大數據」嘛,總能整出點東西來。
但就像上次說過的,「大數據」很有可能帶來「大錯誤」!所以在數據挖掘工作開始前,認真的理解數據、檢查數據,對數據進行預處理是至關重要的。
很多人說,數據准備工作真是個「體力活」,耗時耗力不說,還異常的枯燥無味。這點小編承認,建模之前的數據處理確實是平淡的,它往往不需要多高的智商,多牛的編程技巧,多麼高大上的統計模型。
但是,它卻能時時觸發你的興奮點,因為它需要足夠的耐心和細心,稍不留神就前功盡棄。
在這次的內容里,小編首先會從「數據理解」、「變數類型」和「質量檢查」三個方面進行闡述,然後會以一個自己做過的實際數據為例進行展示。
一、數據理解
拿到數據後要做的第一步就是理解數據。
什麼是理解數據呢?不是簡單看下有多少Excel表,有多少行,多少列,而是要結合自己的分析目標,帶著具體的業務需求去看。
首先,我們需要明確數據記錄的詳細程度,比方說某個網站的訪問量數據是以每小時為單位還是每天為單位;一份銷售數據記錄的是每家門店的銷售額還是每個地區的總銷售額。
其次,我們需要確定研究群體。研究群體的確定一定和業務目標是密切相關的。
比方說,如果我們想研究用戶對產品的滿意度與哪些因素有關,就應該把購買該產品的所有客戶作為研究群體;如果我們想研究用戶的購買行為受哪些因素影響,就應該同時考察購買人群和非購買人群,在兩類人群的對比中尋找關鍵因素。
研究群體的確定有時也和數據的詳細程度有關。
比如我們想研究「觀眾影評」對「電影票房」的影響,我們既可以把「每部電影」看成一個個體,研究「影評總數」對「電影總票房」的影響,也可以把「每部電影每天的票房」看成一個個體,研究「每天的影評數」對「每天的電影票房」的影響。
具體選擇哪一種取決於我們手上有什麼樣的數據,如果只有總票房和總影評數的數據,那我們只能選擇第一種;如果有更詳細的數據,那就可以考慮第二種方案。
需要注意的是,這兩種方案還會影響我們對於模型的選擇。
例如,如果研究「每天的影評數」對「每天電影票房」的影響,那每部電影又被細分為很多天,同一部電影不同時間的票房會有較高的相似性,這就形成了一種層次結構,可以考慮使用層次模型(hierarchical model)進行分析。
最後,當我們確定了研究目標和研究群體後,我們需要逐一理解每個變數的含義。有些變數和業務目標明顯無關,可以直接從研究中剔除。
有些變數雖然有意義,但是在全部樣本上取值都一樣,這樣的變數就是冗餘變數,也需要從研究中剔除。
還有一些變數具有重復的含義,如「省份名稱」和「省份簡稱」,這時只需要保留一個就可以了。
二、變數類型
所有變數按其測量尺度可以分成兩大類,一類是「分類變數」,一類是「數值變數」。不同類型的變數在處理方法和後期的模型選擇上會有顯著差別。
【分類變數】
分類變數又稱屬性變數或離散變數,它的取值往往用有限的幾個類別名稱就可以表示了,例如「性別」,「教育程度」,「收入水平」,「星期幾」等。細分的話,分類變數又可分為兩類,一類是「名義變數」,即各個類別間沒有順序和程度的差別,就像「手機系統」中ios和安卓並沒有明顯的好壞差別,「電影類型」中「動作片」和「科幻片」也都是一樣的,說不上哪個更好或更差。
另外一類是定序變數,即不同類別之間存在有意義的排序,如「空氣污染程度」可以用「差、良、優」來表示、「教育程度」可以用「小學、初中、高中、大學」來表示。
當研究的因變數是分類變數時,往往對應特定的分析方法,我們在後面的章節會陸續講到,這里暫且不談。
當研究中的自變數是分類變數時,也會限制模型選擇的范圍。有些數據挖掘模型可以直接處理分類自變數,如決策樹模型;但很多數據挖掘模型不能直接處理分類自變數,如線性回歸、神經網路等,因此需要將分類變數轉換成數值變數。
對於定序自變數,最常用的轉換方法就是按照類別程度將其直接轉換成數值自變數,例如將空氣污染程度 「差、良、優」轉換為「1,2,3」。
對於名義自變數,最常用的轉換方法就是構造0-1型啞變數。例如,對於「性別」,可以定義「1=男,0=女」。
當某個名義變數有K個類別取值時,則需要構造K-1個啞變數。例如教育程度「小學,初中,高中,大學及以上」,可以構造三個啞變數分別為:x1:1=小學,0=其它;x2:1=初中,0=其它;x3:1=高中,0=其它。當x1,x2,x3三個啞變數取值都為0時,則對應著「大學及以上」。
需要注意的是,有時候名義變數的取值太多,會生成太多的啞變數,這很容易造成模型的過度擬合。
這時可以考慮只把觀測比較多的幾個類別單獨拿出來,而把剩下所有的類別都歸為「其它」。
例如,中國一共包含56個民族,如果每個民族都生成一個啞變數就會有55個,這時我們可以只考慮設置「是否為漢族」這一個0-1啞變數。
【數值變數】
我們再來看看數值變數。數值變數就是用數值描述,並且可以直接進行代數運算的變數,如「銷售收入」、「固定資本」、「評論總數」、「訪問量」、「學生成績」等等都是數值變數。
需要注意的是,用數值表示的變數不一定就是數值型變數,只有在代數運算下有意義的變數才是數值型變數。
例如財務報表的年份,上市時間等,雖然也是用數值表示的,但我們通常不將它們按照數值型變數來處理。
上面我們講到,分類變數通常要轉換成數值型變數,其實有些時候,數值型變數也需要轉換成分類變數,這就用到了「數據分箱」的方法。
為什麼要進行數據分箱呢?通常有以下幾個原因:
1. 數據的測量可能存在一定誤差,沒有那麼准確,因此按照取值范圍轉換成不同類別是一個有效的平滑方法;
2.有些演算法,如決策樹模型,雖然可以處理數值型變數,但是當該變數有大量不重復的取值時,使用大於、小於、等於這些運算符時會考慮很多的情況,因此效率會很低,數據分箱的方法能很好的提高演算法效率;
3.有些模型演算法只能處理分類型自變數(如關聯規則),因此也需要將數值變數進行分箱處理。
數據分箱後,可以使用每個分箱內的均值、中位數、臨界值等作為這個類別的代表值,也可以直接將不同取值范圍定義成不同的類別,如:將污染程度劃分後定義為「低、中、高」等。
那如何進行數據分箱呢?常用的數據分箱的方法有:等寬分箱(將變數的取值范圍劃分成等寬的幾個區間)、等頻分箱(按照變數取值的分位數進行劃分)、基於k均值聚類的分箱(將所有數據進行k均值聚類,所得的不同類別即為不同的分箱),還有一些有監督分箱方法,如:使分箱後的結果達到最小熵或最小描述長度等。這里不詳細介紹了,有興趣的童鞋可以自行網路。
三、質量檢查
對數據中的各個變數有了初步了解後,我們還需要對數據進行嚴格的質量檢查,如果數據質量不過關,還需要進行數據的清洗或修補工作。
一般來說,質量檢查包括檢查每個變數的缺失程度以及取值范圍的合理性。
【缺失檢查】
原始數據中經常會存在各種各樣的缺失現象。
有些指標的缺失是合理的,例如顧客只有使用過某個產品才能對這個產品的滿意度進行評價,一筆貸款的抵押物中只有存在房地產,才會記錄相應的房地產的價值情況等。
像這種允許缺失的變數是最難搞的,因為我們很難判斷它的缺失是合理的,還是由於漏報造成的。
但無論哪種情況,如果變數的缺失率過高,都會影響數據的整體質量,因為數據所反映的信息實在太少,很難從中挖掘到有用的東西。
對於不允許缺失的變數來說,如果存在缺失情況,就必須進行相應的處理。如果一個變數的缺失程度非常大,比方說達到了70%,那就考慮直接踢掉吧,估計沒救了。
如果缺失比例還可以接受的話,可以嘗試用缺失值插補的方法進行補救。
插補的目的是使插補值能最大可能的接近其真實的取值,所以如果可以從其他途徑得到變數的真實值,那一定優先選擇這種方法。
比如某個公司的財務信息中缺失了「最終控制人類型」和「是否國家控股」這兩個取值,這些可以通過網上的公開信息得到真實值;再比如缺失了「凈利潤率」這個指標的取值,但是卻有「凈利潤」和「總收入」的取值,那就可以通過變數間的關系得到相應的缺失值,即凈利潤率=凈利潤/總收入。
當然,更多的時候,我們無法得到缺失值的真實信息,這時就只能借用已有的數據來進行插補了。
對數值變數來說,可以用已觀測值的均值、中位數來插補缺失值;對分類型變數來說,可以用已觀測數據中出現比例最高的類別取值來進行插補。
這些方法操作起來非常簡單,但它們都是對所有缺失值賦予了相同的取值,所以當缺失比例較大時,可能會扭曲被插補變數與其餘變數的關系。
更復雜一點的,我們可以選擇模型插補方法,即針對被插補變數和其它自變數之間的關系建立統計模型(如回歸、決策樹等),將模型預測值作為插補值。
如何處理缺失值是一個很大的研究課題,我們這里只是介紹了最簡單可行的方法,有興趣的讀者可以參閱Little和Rubin 2002年的專著「Statistical Analysis with Missing Data」。
【變數取值合理性檢查】
除了缺失外,我們還要考察每個變數的取值合理性。每個變數都會有自己的取值范圍,比如「用戶訪問量」、「下載次數」一定是非負的,「投資收益率」一定在0~1之間。通過判斷變數的取值是否超出它應有的取值范圍,可以簡單的對異常值進行甄別。
除了根據變數的取值范圍來檢查變數質量外,還可以根據變數之間的相互關系進行判斷。例如一家公司的「凈利潤率」不應該大於「總利潤率」等。
只有通過了各個方面檢測的數據才是一份高質量的數據,才有可能帶來有價值的模型結果。
四、實例分析——電影票房分析
最後,我們給出一個實例分析。在這個例子中,我們的目標是研究電影哪些方面的特徵對電影票房有影響。
我們有兩方面的數據,一是描述電影特徵的數據,二是描述電影票房的數據。
由於我們關注的是北美的票房市場,所以描述電影特徵的數據可以從IMDB網站得到,它是一個關於演員、電影、電視節目、電視明星和電影製作的在線資料庫,裡面可以找到每部上映電影的眾多信息;電影每天的票房數據可以從美國權威的票房網站Box Office Mojo得到,上面記錄了每部電影上映期間內每天的票房數據。
我們將從IMDB得到的數據放到「movieinfor.csv」文件中,將從Box Office Mojo中得到的數據放到「boxoffice.csv」文件中。
這里,我們以2012年北美票房市場最高的前100部電影為例進行講解。下表給出了這兩個數據集中包含的所有變數以及相應的解釋。
在這兩個數據中,movieinfor.csv數據的記錄是精確到每部電影的,而boxoffice.csv數據精確到了每部電影中每天的票房數據,是精確到天的。上表中給出的變數中,除了電影名稱和ID外,「電影類型」「MPAA評級」(美國電影協會對電影的評級)和「星期幾」是分類型變數;「放映時長」、「製作預算」、「電影每天的票房」和「每天放映的影院數」是數值型變數。兩份數據都不存在缺失值。
我們首先對兩個數據集分別進行變數預處理,然後再根據電影ID將兩個數據整合到一起。下面給出了每個變數的處理方法:
【電影類型】
電影類型是一個分類變數。在這個變數中我們發現每部電影都不止一個類型,例如「The Dark Knight Rises」這部電影就有「Action」、「Crime」和「Thriller」三個類型,並且它們以「|」為分隔符寫在了一起。
同時,不同電影之間可能有相同的類型,也可能有不同的類型,例如票房排名第二的電影「Skyfall」,它的類型是「Action |Adventure |Thriller」。
因此,我們首先需要做的是把每部電影所屬的類型逐一取出來,然後將所有出現過的類型分別形成一個0-1啞變數,如果這部電影在某個類型上出現了,則相應變數的取值就是1,否則是0.
通過上面一步,我們知道這個數據集中出現過的所有電影類型一共有11個。
那是不是按照之前所講的,應該把它轉換為10個啞變數呢?這里需要注意的是,所有的電影類型之間並不是互斥的(即有了action,就不能有其他的類型),所以我們無需因為共線性的原因去掉其中一個。
也就是說,如果把每一個電影類型單獨作為一個獨立的變數,可以衍生出11個新的0-1變數,這完全沒有問題。但11個變數未免有點過多,所以我們根據不同電影類型的頻數分布情況,只把出現次數明顯較多的類型單獨拿出來,最終生成了6個0-1型變數,分別為Adventure,Fantasy,Comedy,Action,Animation,Others。
【MPAA評級】
對於這個分類型變數,我們首先可以看一下數據中它所包含的全部取值,發現一共有「PG」,「PG-13」和「R」三個。
和上面的電影類型(Genre)不同,對於一部電影而言,它只能有一個MPAA取值。因此,在MPAA變數中,我們需要選擇一個作為基準,將另外兩個構造成啞變數。
例如,我們以「PG」為基準,構造的兩個啞變數分別為PG13和R,如果這兩個啞變數的取值同時為0,那就相當於電影的MPAA評級是PG。
【放映當天是星期幾】
這個變數同MPAA評級一樣,每部電影只能有一個取值。
如果它在星期一到星期日上都有取值的話,我們可以衍生出6個0-1型啞變數。
因為這里我們更關注周末和非周末對電影票房的影響,而並不關注具體是哪一天,所以我們將其進一步概括成一個變數,即「是否是周末」。
【放映時長和製作預算】
放映時長和製作預算這兩個變數都是取值大於0的數值型變數,我們可以分別檢查它們的取值是否在合理的范圍內,然後直接保留它們的數值信息。
同時,對「製作預算」而言,假設我們這里關心的不是製作預算的具體數值,而是「小成本電影」和「大成本電影」的票房差異,那我們就可以將這個數值型變數進行分箱處理,轉換為一個0-1型的分類變數,即 「是否為小成本電影」。
在決定按照什麼標准來劃分是否為小成本電影時,我們根據之前文獻里的研究結果,將製作預算在100 million以下的電影看成是小成本電影。
上述所有變數的處理過程都可以使用R中最基本的語句(table,rep,which等)完成,由於篇幅限制,小編這里就不列出詳細的code了,大家感興趣的話,可以閱讀狗熊會的「R語千尋」系列(戳這里),相信會在R語言的學習上受到更多啟發。
最後,我們將所有新生成的變數按照電影ID整合到一起,就大功告成啦。
五、總結
最後總結一下,小編在這次內容中向大家介紹了拿到數據後的數據理解和預處理工作,內容雖然不難,但同樣需要我們認真對待。就好像生活一樣,只有踏踏實實走好前面的路,才有可能迎接後面的高潮迭起!

⑦ 豆瓣電影數據分析

這篇報告是我轉行數據分析後的第一篇報告,當時學完了Python,SQL,BI以為再做幾個項目就能找工作了,事實上……分析思維、業務,這兩者遠比工具重要的多。一個多月後回過頭來看,這篇報告雖然寫得有模有樣,但和數據分析報告還是有挺大差別的,主要原因在於:a.只是針對豆瓣電影數據分析太過寬泛了,具體關鍵指標到底是哪些呢?;b.沒有一個確切有效的分析模型/框架,會有種東一塊西一塊的拼接感。
即便有著這些缺點,我還是想把它掛上來,主要是因為:1.當做Pandas與爬蟲(Selenium+Request)練手,總得留下些證明;2.以豆瓣電影進行分析確實很難找到一條業務邏輯線支撐,總體上還是描述統計為主;3.比起網上能搜到的其他豆瓣電影數據分析,它更為詳細,可視化效果也不錯;

本篇報告旨在針對豆瓣電影1990-2020的電影數據進行分析,首先通過編寫Python網路爬蟲爬取了51375條電影數據,採集對象包括:電影名稱、年份、導演、演員、類型、出品國家、語言、時長、評分、評論數、不同評價佔比、網址。經過去重、清洗,最後得到29033條有效電影數據。根據電影評分、時長、地區、類型進行分析,描述了評分與時長、類型的關系,並統計了各個地區電影數量與評分。之後,針對演員、導演對數據進行聚合,給出產量與評分最高的名單。在分析過程中,還發現電影數量今年逐步增加,但評分下降,主要原因是中國地區今年低質量影視作品的增加。

另外,本篇報告還爬取了電影票房網( http://58921.com/ )1995-2020年度國內上映的影片票房,共採集4071條數據,其中3484條有效。進一步,本文分析了國內院線電影票房年度變化趨勢,票房與評分、評價人數、時長、地區的關系,票房與電影類型的關聯,並給出了票房最高的導演、演員與電影排名。

清洗、去重後,可以看到29033條數據長度、評分、評論數具有以下特點:

結合圖1(a)(b)看,可以看到電影數據時長主要集中在90-120分鍾之間,向兩極呈現階梯狀遞減,將數據按照短(60-90分鍾),中(90-120分鍾),長(120-150分鍾),特長(>150分鍾)劃分,各部分佔比為21.06%, 64.15%, 11.95%, 2.85%。

結合圖2(a)看,可以看到我們採集到的電影數據評分主要集中在6.0-8.0之間,向兩極呈現階梯狀遞減,在此按照評分劃分區間:2.0-4.0為口碑極差,4.0-6.0為口碑較差,6.0-7.0為口碑尚可,7.0-8.0為口碑較好,8.0-10.0為口碑極佳。

這5種電影數據的佔比分別為:5.78%, 23.09%, 30.56%, 29.22%, 11.34%

再將評分數據細化到每年進行觀察,可以發現,30年內電影數量與年度電影均分呈反相關,年度均分整體呈現下降趨勢,2016年電影均分最低,電影數量最多。

進一步做出每個年份下不同評級等級的電影數據佔比,可以發現,近年來,評分在[2.0,6.0)的電影數據佔比有著明顯提升,評分在[6.0,7.0)的數據佔比不變,評分在[7.0,10.0)的數據佔比減少,可能原因有:

對照圖5,可以發現,評分與時長、評論人數的分布大致呈現漏斗狀,高分電影位於漏鬥上部,低分電影位於漏斗下部。這意味著,如果一部電影的評論人數很多(特別是超過30w人觀影),時長較長(大於120min),那麼它大概率是一部好電影。

根據各個國家的電影數量作圖,可以得到圖6,列出電影數量前十的國家可得表格2,發現美國在電影數量上占第一,達到8490部,中國其次,達6222部。此外,法國,英國,日本的電影數量也超過1000,其餘各國電影數量相對較少。這可以說明美國電影有著較大的流量輸入,在中國產生了較大的影響。

進一步分析各國電影的質量,依據評分繪制評分箱線圖可得圖7,在電影數量排名前20的國家中:

接著我們可以探索,哪個國家的電影對豆瓣評分隨年份下降的貢獻最大,考慮到電影數量對應著評分的權重。根據上述各國的電影評分表現,我們可以猜測電影數量較多的國家可能對年度均分的下降有較大影響。於是,我們再計算出這些國家的年度電影均分,並與整體均分進行比較分析。

再作出中國大陸,中國台灣,中國香港的均分箱線圖圖9(a),可以看到,大陸電影均分低於港台電影,且存在大量低分電影拉低了箱體的位置。

分析相關性可得,大陸、香港、台灣電影年度均分與全部評分關聯度分別為R=0.979,0.919,0.822,說明濾去台灣和香港電影,大陸電影年度均分的變化趨勢與全部評分變化更接近。圖9(b)可以進一步反映這一點。

可以看到,大部分類型集中在X×Y=[10000,30000]×[6.00,7.50]的區間范圍內,劇情、喜劇、愛情、犯罪、動作類電影數量上較多,說明這些題材的電影是近三十年比較熱門的題材,其中劇情類電影佔比最多,音樂、傳記類電影平均得分更高,但在數量上較少,動作、驚悚類電影評論人數雖多,但評價普遍偏低。

除此之外,還有兩塊區域值得關註:

根據類型對電影數據進行聚合,整理得到各類型電影評分的時間序列,計算它們與整體均分時間序列的相關性,可得表格4與圖11,可以看到劇情,喜劇,懸疑這三種類型片與總分趨勢變化相關性最強,同時劇情、喜劇類電影在電影數量上也最多,因此可以認為這兩類電影對於下跌趨勢影響最大,但其餘類別電影的相關性也達到了0.9以上,說明幾種熱門的電影得分的變化趨勢與總體均分趨勢一致。

前面已經得知,中美兩國電影佔比最高,且對於均分時間序列的影響最大。在此,進一步對兩國電影進行類型分析,選取幾種主要的類型(數量上較多,且相關性較高)進行分析,分別是劇情,喜劇,愛情,驚悚,動作,懸疑類電影,繪制近年來幾類電影的數量變化柱狀圖與評分箱線圖可得圖12,13,14,15。

對導演與演員進行聚合,得到數據中共有15011名導演,46223名演員。按照作品數量在(0,2], (2,5], (5,10], (10,20], (20,999]進行分組統計導演數量,可以發現,15009名導演中有79.08%只拍過1-2部作品,46220名演員中有75.93%只主演過1-2部作品。忽略那些客串、跑龍套的演員,數據總體符合二八定律,即20%的人占據了行業內的大量資源。

在此,可以通過電影得分、每部電影評論人數以及電影數目尋找優秀的電影導演與演員。這三項指標分別衡量了導演/演員的創作水平,人氣以及產能。考慮到電影數據集中可能有少量影視劇/劇場版動畫,且影視劇/劇場版動畫受眾少於電影,但得分普遍要高於電影,這里根據先根據每部電影評論數量、作品數量來篩選導演/演員,再根據電影得分進行排名,並取前30名進行作圖,可得圖17,18。

結合電影票房網( http://58921.com/ )採集到的3353條票房數據,與豆瓣數據按照電影名稱進行匹配,可以得到1995-2020年在中國大陸上映的電影信息,分別分析中國內地電影的數量、票房變化趨勢,票房與評分、評價人數、時長、地區以及類型的關系,此外還給出了不同導演與演員的票房表現以及影片票房排名。

如圖19所示,國內票房數據與上映的電影數量逐年遞增,2020年記錄的只是上半年的數據,且由於受疫情影響,票房與數量驟減。這說明在不發生重大事件的情況下,國內電影市場規模正在不斷擴大。

對電影數據根據類型進行聚合,繪制散點圖21,可以發現:

提取導演/演員姓名,對導演/演員欄位進行聚合,計算每個導演/演員的票房總和,上映電影均分、以及執導/參與電影數目進行計算,作出票房總和前30名的導演/演員,可得圖22,23,圖中導演/演員標號反映了票房排名,具體每位導演/演員的上映影片數量、均分、每部電影評價人數、平均時長與總票房在表5、表6中給出。

最後根據電影票房進行排名,得到票房排名前20的電影如表格7所示,可以看到絕大部分上榜電影都是中國電影,索引序號為3、10、12、14、18、19為美國電影,這也反映了除國產電影之外,好萊塢大片占據較大的市場。

本篇報告採集了1990-2020年間豆瓣電影29033組有效數據,從豆瓣電影的評分、時長、地區、類型、演員、導演以及票房等信息進行分析評價,主要有以下結論:

⑧ 從電影網站爬取數據並進行可視化分析會用到哪些數據

從電影網站爬取數據並進行可視化分析會用到的數據如下。
1、beautifulsoup、re、urllib庫。
2、SQLite包,數據可視化方面主要用到flask框架、echarts和wordcloud等。
3、此類數據可以搭建簡單的數據可視化網站。

⑨ 利用 Python 分析 MovieLens 1M 數據集

MovieLens數據集是一個關於電影評分的數據集,裡麵包含了從IMDB, The Movie DataBase上面得到的用戶對電影的評分信息,詳細請看下面的介紹。

文件裡面的內容是幫助你如何通過網站id在對應網站上找到對應的電影鏈接的。

movieId, imdbId, tmdbId

表示這部電影在movielens上的id,可以通過鏈接 https://movielens.org/movies/(movieId) 來得到。

表示這部電影在imdb上的id,可以通過鏈接 http://www.imdb.com/title/(imdbId)/
來得到。

movieId, title, genres

文件里包含了一部電影的id和標題,以及該電影的類別

movieId, title, genres

每部電影的id

電影的標題

電影的類別(詳細分類見readme.txt)

文件裡面的內容包含了每一個用戶對於每一部電影的評分。

數據排序的順序按照userId,movieId排列的。

文件裡面的內容包含了每一個用戶對於每一個電影的分類

數據排序的順序按照userId,movieId排列的。

=======

該數據集(ml-latest-small)描述了電影推薦服務[MovieLens]( http://movielens.org )的5星評級和自由文本標記活動。它包含9742部電影的100836個評級和3683個標簽應用程序。這些數據由610位用戶在1996年3月29日到2018年9月24日之間創建。該數據集於2018年9月26日生成。

隨機選擇用戶以包含在內。所有選定的用戶評分至少20部電影。不包括人口統計信息。每個用戶都由一個id表示,並且不提供其他信息。

數據包含在 links.csv , movies.csv , ratings.csv 和 tags.csv 文件中。有關所有這些文件的內容和用法的更多詳細信息如下。

這是一個發展的數據集。因此,它可能會隨著時間的推移而發生變化,並不是共享研究結果的適當數據集。

========

要確認在出版物中使用數據集,請引用以下文件:

========================

數據集文件以[逗號分隔值]文件寫入,並帶有單個標題行。包含逗號( , )的列使用雙引號(```)進行轉義。這些文件編碼為UTF-8。如果電影標題或標簽值中的重音字元(例如Misérables,Les(1995))顯示不正確,確保讀取數據的任何程序(如文本編輯器,終端或腳本)都配置為UTF-8。

MovieLens用戶隨機選擇包含。他們的ID已經匿名化了。用戶ID在 ratings.csv 和 tags.csv 之間是一致的(即,相同的id指的是兩個文件中的同一用戶)。

數據集中僅包含至少具有一個評級或標記的電影。這些電影ID與MovieLens網站上使用的電影ID一致(例如,id 1 對應於URL https://movielens.org/movies/1 )。電影ID在 ratings.csv , tags.csv , movies.csv 和 links.csv 之間是一致的.

通過[pandas.read_csv]將各表轉化為pandas 的DataFrame對象

其中用到的參數為分隔符sep、頭文件header、列名定義names、解析器引擎engine
這里和書上相比多用了engine參數,engine參數有C和Python,C引擎速度更快,而Python引擎目前功能更完整。

可用pandas.merge 將所有數據都合並到一個表中。merge有四種連接方式(默認為inner),分別為

通過索引器查看第一行數據,使用基於標簽的索引.loc或基於位置的索引.iloc

可通過數據透視表( pivot_table )實現

該操作產生了另一個DataFrame,輸出內容為rating列的數據,行標index為電影名稱,列標為性別,aggfunc參數為函數或函數列表(默認為numpy.mean),其中「columns」提供了一種額外的方法來分割數據。

by參數的作用是針對特定的列進行排序(不能對行使用),ascending的作用是確定排序方式,默認為升序

增加一列存放平均得分之差,並對其排序,得到分歧最大且女性觀眾更喜歡的電影

按照電影標題將數據集分為不同的groups,並且用size( )函數得到每部電影的個數(即每部電影被評論的次數),按照從大到小排序,取最大的前20部電影列出如下

按照電影名稱分組,用agg函數通過一個字典{『rating』: [np.size, np.mean]}來按照key即rating這一列聚合,查看每一部電影被評論過的次數和被打的平均分。取出至少被評論過100次的電影按照平均評分從大到小排序,取最大的10部電影。

⑩ Python分析44130條用戶觀影數據,挖掘用戶與電影之間的隱藏信息!

很多電影也上映,看電影前很多人都喜歡去 『豆瓣』 看影評,所以我爬取44130條 『豆瓣』 的用戶觀影數據,分析 用戶之間 的關系, 電影之間 的聯系,以及 用戶和電影之間 的隱藏關系。

在****『豆瓣』****平台爬取用戶觀影數據。

為了獲取用戶,我選擇了其中一部電影的影評,這樣可以根據評論的用戶去獲取其用戶名稱(**後面爬取用戶觀影記錄只需要****『用戶名稱』******)。

url中start參數是頁數(page 20,每一頁20條數據),因此start=0、20、40...,也就是 20的倍數 ,通過改變start參數值就可以獲取這 4614條用戶的名稱。 *

查看網頁的標簽,可以找到******『用戶名稱』******值對應的標簽屬性。

上一步爬取到****『用戶名稱』****,接著爬取用戶觀影記錄需要用到****『用戶名稱』。****

[圖片上傳失敗...(image-65a80e-1624889400616)]

通過改變****『用戶名稱』****,可以獲取到不同用戶的觀影記錄。

url中start參數是頁數(page 15,每一頁15條數據),因此start=0、15、30...,也就是 15的倍數 ,通過改變start參數值就可以獲取這 1768條觀影記錄稱。 *

查看網頁的標簽,可以找到****『電影名』****值對應的標簽屬性。

excel表有兩個標題(用戶, 影評)

定義了寫入excel函數,這樣爬起每一頁數據時候調用寫入函數將數據保存到excel中。

最後採集了44130條數據(原本是4614個用戶,每個用戶大約有500~1000條數據,預計 400萬條數據 )。但是為了演示分析過程,只爬取每一個用戶的前30條觀影記錄( 因為前30條是最新的 )。

最後這44130條數據會在 下面分享給大家

從豆瓣.xls中讀取全部數據放到datalist集合中。

以用戶 『mumudancing』 為例進行用戶畫像

以用戶 『mumudancing』 為例,對用戶之間進行 電影推薦

以電影 『送你一朵小紅花』 為例,對電影之間進行 電影推薦

閱讀全文

與如何對電影數據進行分析相關的資料

熱點內容
比兵臨城下還好看的狙擊電影 瀏覽:927
伊姐看電影是什麼 瀏覽:305
電影網站uyy什麼的 瀏覽:424
中國關於妖怪好看的電影 瀏覽:646
和女兒看完電影說什麼 瀏覽:764
什麼電影好看愛情日本電影 瀏覽:331
螢火之森是什麼類型的電影 瀏覽:909
三星電視怎麼搜索網路電影 瀏覽:360
穿插電影怎麼轉場 瀏覽:359
小丑電影在線觀看免費完整版下載4 瀏覽:295
日韓色情免費高清電影網迅雷下載地址 瀏覽:561
一場電影的觀後感怎麼寫 瀏覽:973
腦門中間有條蟲子怎麼電影 瀏覽:752
好看的歐洲同志電影 瀏覽:362
為什麼拍電影都用奧迪車 瀏覽:776
推特好看電影 瀏覽:269
優酷的漫威電影怎麼播放不了 瀏覽:212
免費電影關之琳 瀏覽:987
哪些電影中孕婦分娩 瀏覽:51
3d電影如何投屏 瀏覽:988