中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

如何做電商網(wǎng)站成都seo的方法

如何做電商網(wǎng)站,成都seo的方法,深圳 網(wǎng)站開發(fā)公司電話,阿里云ecs 搭建網(wǎng)站🤵?♂? 個人主頁:艾派森的個人主頁 ?🏻作者簡介:Python學(xué)習(xí)者 🐋 希望大家多多支持,我們一起進(jìn)步!😄 如果文章對你有幫助的話, 歡迎評論 💬點(diǎn)贊&#x1f4…

🤵?♂? 個人主頁:@艾派森的個人主頁

?🏻作者簡介:Python學(xué)習(xí)者
🐋 希望大家多多支持,我們一起進(jìn)步!😄
如果文章對你有幫助的話,
歡迎評論 💬點(diǎn)贊👍🏻 收藏 📂加關(guān)注+


喜歡大數(shù)據(jù)分析項目的小伙伴,希望可以多多支持該系列的其他文章

大數(shù)據(jù)分析案例合集
大數(shù)據(jù)分析案例-基于隨機(jī)森林算法預(yù)測人類預(yù)期壽命
大數(shù)據(jù)分析案例-基于隨機(jī)森林算法的商品評價情感分析
大數(shù)據(jù)分析案例-用RFM模型對客戶價值分析(聚類)
大數(shù)據(jù)分析案例-對電信客戶流失分析預(yù)警預(yù)測
大數(shù)據(jù)分析案例-基于隨機(jī)森林模型對北京房價進(jìn)行預(yù)測
大數(shù)據(jù)分析案例-基于RFM模型對電商客戶價值分析
大數(shù)據(jù)分析案例-基于邏輯回歸算法構(gòu)建垃圾郵件分類器模型
大數(shù)據(jù)分析案例-基于決策樹算法構(gòu)建員工離職預(yù)測模型

大數(shù)據(jù)分析案例-基于KNN算法對茅臺股票進(jìn)行預(yù)測

大數(shù)據(jù)分析案例-基于多元線性回歸算法構(gòu)建廣告投放收益模型
大數(shù)據(jù)分析案例-基于隨機(jī)森林算法構(gòu)建返鄉(xiāng)人群預(yù)測模型
大數(shù)據(jù)分析案例-基于決策樹算法構(gòu)建金融反欺詐分類模型

目錄

1.項目背景

2.項目簡介

2.1項目說明

2.2數(shù)據(jù)說明

2.3技術(shù)工具

3.算法原理

4.項目實(shí)施步驟

4.1理解數(shù)據(jù)

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

4.3探索性數(shù)據(jù)分析

4.4特征工程

4.5模型構(gòu)建

4.6模型評估

5.實(shí)驗(yàn)總結(jié)

源代碼


1.項目背景

????????電影票房預(yù)測一直是電影產(chǎn)業(yè)中的一個重要問題,對于制片方、發(fā)行方和影院等利益相關(guān)者而言,準(zhǔn)確地預(yù)測電影票房可以幫助他們做出更明智的決策。在電影產(chǎn)業(yè)中,投資決策、市場營銷策略、排片安排等方面的決策都受到電影票房預(yù)測的影響。因此,構(gòu)建一種準(zhǔn)確可靠的電影票房預(yù)測模型對于電影產(chǎn)業(yè)的發(fā)展具有重要意義。

研究背景主要包括以下幾個方面:

  1. 市場競爭激烈: 電影市場競爭激烈,每年推出大量新片。在這種競爭環(huán)境下,能夠提前了解一部電影可能取得的票房情況,對于選擇上映時機(jī)、進(jìn)行市場宣傳、確定投資規(guī)模等方面至關(guān)重要。

  2. 復(fù)雜多變的影響因素: 影響電影票房的因素眾多,包括但不限于演員陣容、導(dǎo)演水平、電影類型、上映時間、市場宣傳、觀眾口碑等。這些因素之間存在復(fù)雜的相互關(guān)系,傳統(tǒng)的分析方法難以全面考慮這些因素的綜合影響。

  3. 數(shù)據(jù)科學(xué)的應(yīng)用需求: 隨著數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,利用大量的電影數(shù)據(jù)進(jìn)行建模和預(yù)測成為可能。隨機(jī)森林算法是一種集成學(xué)習(xí)方法,具有高準(zhǔn)確性和強(qiáng)大的泛化能力,特別適用于處理大規(guī)模、高維度的數(shù)據(jù),因此成為構(gòu)建電影票房預(yù)測模型的理想選擇。

2.項目簡介

2.1項目說明

????????本研究旨在利用隨機(jī)森林算法構(gòu)建一種高效的電影票房預(yù)測模型,通過綜合考慮各種影響因素,提高預(yù)測準(zhǔn)確性,為電影產(chǎn)業(yè)相關(guān)方提供科學(xué)的決策依據(jù)。通過該研究,可以更好地理解影響電影票房的關(guān)鍵因素,為電影從業(yè)者提供更全面的市場分析和預(yù)測服務(wù)。

2.2數(shù)據(jù)說明

????????該數(shù)據(jù)集來源于kaggle,該數(shù)據(jù)集包含1995年至2018年上映的電影類型統(tǒng)計數(shù)據(jù),原始數(shù)據(jù)集共有300條,9個變量,各變量含義解釋如下:

Genre:電影的類別或類型。(分類)

Year:電影發(fā)行的年份。(數(shù)字)

Movies Released :特定類型和年份發(fā)行的電影數(shù)量。(數(shù)字)

Gross:該類型和年份的電影產(chǎn)生的總收入。(數(shù)字)

Tickets Sold:該類型和年份的電影售出門票總數(shù)。(數(shù)字)

Inflation-Adjusted Gross:考慮到貨幣價值隨時間的變化,根據(jù)通貨膨脹進(jìn)行調(diào)整的總收入。(數(shù)字)

Top Movie:該類型和年份中票房最高的電影的標(biāo)題。(文本)

Top Movie Gross (That Year):該類型和年份中票房最高的電影產(chǎn)生的總收入。(數(shù)字)

Top Movie Inflation-Adjusted Gross (That Year):根據(jù)該類型和年份的通貨膨脹調(diào)整后票房最高的電影的總收入。(數(shù)字)

2.3技術(shù)工具

Python版本:3.9

代碼編輯器:jupyter notebook

3.算法原理

????????隨機(jī)森林是一種有監(jiān)督學(xué)習(xí)算法。就像它的名字一樣,它創(chuàng)建了一個森林,并使它擁有某種方式隨機(jī)性。所構(gòu)建的“森林”是決策樹的集成,大部分時候都是用“bagging”方法訓(xùn)練的。bagging 方法,即 bootstrapaggregating,采用的是隨機(jī)有放回的選擇訓(xùn)練數(shù)據(jù)然后構(gòu)造分類器,最后組合學(xué)習(xí)到的模型來增加整體的效果。簡而言之,隨機(jī)森林建立了多個決策樹,并將它們合并在一起以獲得更準(zhǔn)確和穩(wěn)定的預(yù)測。其一大優(yōu)勢在于它既可用于分類,也可用于回歸問題,這兩類問題恰好構(gòu)成了當(dāng)前的大多數(shù)機(jī)器學(xué)習(xí)系統(tǒng)所需要面對的。

????????隨機(jī)森林分類器使用所有的決策樹分類器以及 bagging 分類器的超參數(shù)來控制整體結(jié)構(gòu)。與其先構(gòu)建 bagging分類器,并將其傳遞給決策樹分類器,我們可以直接使用隨機(jī)森林分類器類,這樣對于決策樹而言,更加方便和優(yōu)化。要注意的是,回歸問題同樣有一個隨機(jī)森林回歸器與之相對應(yīng)。

????????隨機(jī)森林算法中樹的增長會給模型帶來額外的隨機(jī)性。與決策樹不同的是,每個節(jié)點(diǎn)被分割成最小化誤差的最佳指標(biāo),在隨機(jī)森林中我們選擇隨機(jī)選擇的指標(biāo)來構(gòu)建最佳分割。因此,在隨機(jī)森林中,僅考慮用于分割節(jié)點(diǎn)的隨機(jī)子集,甚至可以通過在每個指標(biāo)上使用隨機(jī)閾值來使樹更加隨機(jī),而不是如正常的決策樹一樣搜索最佳閾值。這個過程產(chǎn)生了廣泛的多樣性,通常可以得到更好的模型。

4.項目實(shí)施步驟

4.1理解數(shù)據(jù)

導(dǎo)入數(shù)據(jù)分析常用的第三方庫并加載數(shù)據(jù)

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import plotly.express as px
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import plotly.subplots as spdf = pd.read_csv("movies_data.csv")
df.head()

查看數(shù)據(jù)大小

?

查看數(shù)據(jù)基本信息

查看數(shù)值型變量的描述性統(tǒng)計

查看非數(shù)值型變量的描述性統(tǒng)計

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

統(tǒng)計缺失值情況

從結(jié)果來看,不存在缺失值?

檢測是否存在重復(fù)值?

?

結(jié)果為False,說明不存在

4.3探索性數(shù)據(jù)分析

基于門票銷售和發(fā)行數(shù)量的流行類型

# 基于門票銷售和發(fā)行數(shù)量的流行類型
# 根據(jù)上映的電影數(shù)量找到受歡迎的類型
genre_movies_released = df.groupby('Genre')['Movies Released'].sum().sort_values(ascending=False)
print("Popular genres based on Movies Released:")
print(genre_movies_released.head())
# 根據(jù)售出的門票總數(shù)來查找受歡迎的類型
genre_tickets_sold = df.groupby('Genre')['Tickets Sold'].sum().sort_values(ascending=False)
print("\nPopular genres based on Tickets Sold:")
print(genre_tickets_sold.head())
fig, axes = plt.subplots(2, 1, figsize=(10, 8))
genre_movies_released.head().plot(kind='bar', ax=axes[0], color='skyblue')
axes[0].set_title('Top Genres by Movies Released')
axes[0].set_ylabel('Total Movies Released')
genre_tickets_sold.head().plot(kind='bar', ax=axes[1], color='lightcoral')
axes[1].set_title('Top Genres by Tickets Sold')
axes[1].set_ylabel('Total Tickets Sold')
plt.tight_layout()
plt.show()

類型和收益分析

# 類型和收益分析
genre_gross = df.groupby('Genre')['Gross'].sum().sort_values(ascending=False).head()
genre_inflation_adjusted_gross = df.groupby('Genre')['Inflation-Adjusted Gross'].sum().sort_values(ascending=False).head()
genre_top_movie_gross = df.groupby('Genre')['Top Movie Gross (That Year)'].max().sort_values(ascending=False).head()
fig = make_subplots(rows=3, cols=1, subplot_titles=['Top Genres by Gross Revenue', 'Top Genres by Inflation-Adjusted Gross Revenue', 'Top Genres by Top Movie Gross (That Year)'])
fig.add_trace(go.Bar(x=genre_gross.index, y=genre_gross.values, name='Gross Revenue', marker_color='skyblue'), row=1, col=1)
fig.add_trace(go.Bar(x=genre_inflation_adjusted_gross.index, y=genre_inflation_adjusted_gross.values, name='Inflation-Adjusted Gross Revenue', marker_color='lightcoral'), row=2, col=1)
fig.add_trace(go.Bar(x=genre_top_movie_gross.index, y=genre_top_movie_gross.values, name='Top Movie Gross (That Year)', marker_color='lightgreen'), row=3, col=1)
fig.update_layout(height=900, showlegend=False, title_text="Financial Success of Genres")
fig.update_xaxes(title_text="Genres", row=3, col=1)
fig.update_yaxes(title_text="Total Gross Revenue", row=1, col=1)
fig.update_yaxes(title_text="Total Inflation-Adjusted Gross Revenue", row=2, col=1)
fig.update_yaxes(title_text="Top Movie Gross (That Year)", row=3, col=1)
fig.show()

多年來的類型趨勢和分析

# 多年來的類型趨勢和分析
selected_genres = ['Action', 'Comedy', 'Drama', 'Adventure']
filtered_df = df[df['Genre'].isin(selected_genres)]
fig = px.line(filtered_df, x='Year', y='Movies Released', color='Genre',title='Movie Releases Over Time for Selected Genres',labels={'Movies Released': 'Number of Movies Released'},line_shape='linear')
fig.show()# 為不同年份的總收入創(chuàng)建一個交互式折線圖
fig = px.line(filtered_df, x='Year', y='Gross', color='Genre',title='Gross Revenue Over Time for Selected Genres',labels={'Gross': 'Total Gross Revenue'},line_shape='linear')
fig.show()

一段時間內(nèi)選定類型中票房最高的電影

# 一段時間內(nèi)選定類型中票房最高的電影
selected_genres = ['Action', 'Comedy', 'Drama', 'Adventure']
filtered_df = df[df['Genre'].isin(selected_genres)]
# 創(chuàng)建一個交互式條形圖來顯示每種類型和年份中票房最高的電影
fig = px.bar(filtered_df, x='Year', y='Top Movie Gross (That Year)', color='Genre',title='Highest-Grossing Movies in Selected Genres Over Time',labels={'Top Movie Gross (That Year)': 'Gross Revenue'},text='Top Movie', height=500)
fig.update_traces(textposition='outside')
fig.show()

多年來的類型分布

# 多年來的類型分布
# 多年來類型分布的堆疊區(qū)域圖
fig = px.area(df, x='Year', y='Movies Released', color='Genre',title='Genre Distribution Over the Years',labels={'Movies Released': 'Number of Movies Released'},height=500)
fig.show()

受眾參與分析

# 受眾參與分析
# 觀眾參與的散點(diǎn)圖
fig = px.scatter(df, x='Tickets Sold', y='Gross', color='Genre',title='Audience Engagement by Genre',labels={'Tickets Sold': 'Number of Tickets Sold', 'Gross': 'Total Gross Revenue'},height=500)
fig.show()

歷年最佳電影表現(xiàn)

# 歷年最佳電影表現(xiàn)
# 隨時間變化的頂級電影表現(xiàn)的折線圖
fig = px.line(df, x='Year', y='Top Movie Gross (That Year)', color='Genre',title='Top Movie Performance Over Time',labels={'Top Movie Gross (That Year)': 'Gross Revenue'},height=500)
fig.show()

按類型劃分的每部電影平均收入

# 按類型劃分的每部電影平均收入
# 按類型計算每部電影的平均收入
df['Average Revenue per Movie'] = df['Gross'] / df['Movies Released']
# 按類型劃分的每部電影平均收入柱狀圖
fig = px.bar(df, x='Genre', y='Average Revenue per Movie',title='Average Revenue per Movie by Genre',labels={'Average Revenue per Movie': 'Average Revenue per Movie'},height=500)
fig.show()

不同類型的門票銷售和發(fā)行

# 不同類型的門票銷售和發(fā)行
fig = px.violin(df, x='Genre', y='Tickets Sold',title='Genre-wise Ticket Sales Distribution',labels={'Tickets Sold': 'Number of Tickets Sold'},height=500)
fig.show()

通貨膨脹調(diào)整后總收益的類型趨勢

# 通貨膨脹調(diào)整后總收益的類型趨勢
fig = px.line(df, x='Year', y='Inflation-Adjusted Gross', color='Genre',title='Genre Trends in Inflation-Adjusted Gross Revenue',labels={'Inflation-Adjusted Gross': 'Inflation-Adjusted Gross Revenue'},height=500)
fig.show()

每個類型和收入的頂級電影

# 每個類型和收入的頂級電影
unique_top_movies_count = df.groupby('Genre')['Top Movie'].nunique().sort_values(ascending=False)
top_movies_gross = df.groupby('Top Movie')['Top Movie Gross (That Year)'].max().sort_values(ascending=False).head(10)
fig = sp.make_subplots(rows=3, cols=1, subplot_titles=['Count of Unique Top Movies per Genre', 'Top Movies with the Highest Gross Revenue', 'Distribution of Gross Revenue for Top Movies'])
fig.add_trace(go.Bar(x=unique_top_movies_count.index, y=unique_top_movies_count.values),row=1, col=1)
fig.add_trace(go.Bar(x=top_movies_gross.index, y=top_movies_gross.values),row=2, col=1)
fig.add_trace(go.Box(x=df['Top Movie'], y=df['Top Movie Gross (That Year)']),row=3, col=1)
fig.update_layout(height=1000, showlegend=False, title_text="Top Movie Analysis")
fig.show()

4.4特征工程

導(dǎo)入第三方庫并準(zhǔn)備建模需要的數(shù)據(jù)

from sklearn.model_selection import KFold, cross_val_predict
from sklearn.ensemble import RandomForestRegressor
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.metrics import mean_squared_error
dff = df.copy()
categorical_features = ['Genre']  # 假設(shè)“類型”是一個分類變量
numerical_features = ['Year', 'Movies Released']
target_variable = 'Tickets Sold'# 篩選DataFrame以僅包含相關(guān)列
data = df[['Year', 'Movies Released', 'Genre', 'Tickets Sold', 'Gross']]# 將數(shù)據(jù)拆分為特征和目標(biāo)變量
X = data[['Year', 'Movies Released', 'Genre', 'Gross']]
y = data[target_variable]

4.5模型構(gòu)建

初始化模型,創(chuàng)建管道

# 定義分類編碼的預(yù)處理器
preprocessor = ColumnTransformer(transformers=[('cat', OneHotEncoder(), categorical_features),],remainder='passthrough'
)# 初始化隨機(jī)森林回歸模型
model = RandomForestRegressor(n_estimators=100, random_state=42)# 創(chuàng)建帶有預(yù)處理和模型的管道
pipeline = Pipeline([('preprocessor', preprocessor),('model', model)
])

交叉驗(yàn)證

# 初始化KFold以進(jìn)行交叉驗(yàn)證
kf = KFold(n_splits=5, shuffle=True, random_state=42)
# 進(jìn)行k-fold交叉驗(yàn)證并進(jìn)行預(yù)測
predictions = cross_val_predict(pipeline, X, y, cv=kf)
# 評估模型性能
mse = mean_squared_error(y, predictions)
print(f'Mean Squared Error: {mse}')

?

4.6模型評估

# 可視化實(shí)際值和預(yù)測值
plt.scatter(y, predictions)
plt.xlabel('Actual Tickets Sold')
plt.ylabel('Predicted Tickets Sold')
plt.title('Actual vs. Predicted Tickets Sold')
plt.show()

5.實(shí)驗(yàn)總結(jié)

? ? ? ? 本實(shí)驗(yàn)通過對電影數(shù)據(jù)進(jìn)行數(shù)據(jù)可視化、特征工程、建模分析,使用隨機(jī)森林算法構(gòu)建預(yù)測模型。總的來說,基于隨機(jī)森林算法構(gòu)建的電影票房預(yù)測模型為電影產(chǎn)業(yè)提供了一種強(qiáng)大的工具。然而,對于實(shí)際應(yīng)用,還需要綜合考慮業(yè)務(wù)背景、市場趨勢等因素,將模型預(yù)測結(jié)果與實(shí)際情況相結(jié)合,形成更全面的決策依據(jù)。

心得與體會:

通過這次Python項目實(shí)戰(zhàn),我學(xué)到了許多新的知識,這是一個讓我把書本上的理論知識運(yùn)用于實(shí)踐中的好機(jī)會。原先,學(xué)的時候感嘆學(xué)的資料太難懂,此刻想來,有些其實(shí)并不難,關(guān)鍵在于理解。

在這次實(shí)戰(zhàn)中還鍛煉了我其他方面的潛力,提高了我的綜合素質(zhì)。首先,它鍛煉了我做項目的潛力,提高了獨(dú)立思考問題、自我動手操作的潛力,在工作的過程中,復(fù)習(xí)了以前學(xué)習(xí)過的知識,并掌握了一些應(yīng)用知識的技巧等

在此次實(shí)戰(zhàn)中,我還學(xué)會了下面幾點(diǎn)工作學(xué)習(xí)心態(tài):

1)繼續(xù)學(xué)習(xí),不斷提升理論涵養(yǎng)。在信息時代,學(xué)習(xí)是不斷地汲取新信息,獲得事業(yè)進(jìn)步的動力。作為一名青年學(xué)子更就應(yīng)把學(xué)習(xí)作為持續(xù)工作用心性的重要途徑。走上工作崗位后,我會用心響應(yīng)單位號召,結(jié)合工作實(shí)際,不斷學(xué)習(xí)理論、業(yè)務(wù)知識和社會知識,用先進(jìn)的理論武裝頭腦,用精良的業(yè)務(wù)知識提升潛力,以廣博的社會知識拓展視野。

2)努力實(shí)踐,自覺進(jìn)行主角轉(zhuǎn)化。只有將理論付諸于實(shí)踐才能實(shí)現(xiàn)理論自身的價值,也只有將理論付諸于實(shí)踐才能使理論得以檢驗(yàn)。同樣,一個人的價值也是透過實(shí)踐活動來實(shí)現(xiàn)的,也只有透過實(shí)踐才能鍛煉人的品質(zhì),彰顯人的意志。

3)提高工作用心性和主動性。實(shí)習(xí),是開端也是結(jié)束。展此刻自我面前的是一片任自我馳騁的沃土,也分明感受到了沉甸甸的職責(zé)。在今后的工作和生活中,我將繼續(xù)學(xué)習(xí),深入實(shí)踐,不斷提升自我,努力創(chuàng)造業(yè)績,繼續(xù)創(chuàng)造更多的價值。

這次Python實(shí)戰(zhàn)不僅僅使我學(xué)到了知識,豐富了經(jīng)驗(yàn)。也幫忙我縮小了實(shí)踐和理論的差距。在未來的工作中我會把學(xué)到的理論知識和實(shí)踐經(jīng)驗(yàn)不斷的應(yīng)用到實(shí)際工作中,為實(shí)現(xiàn)理想而努力。

源代碼

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import plotly.express as px
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import plotly.subplots as spdf = pd.read_csv("movies_data.csv")
df.head()
df.shape
df.info()
df.describe()
df.describe(include='O')
df.isnull().sum()
any(df.duplicated())
# 基于門票銷售和發(fā)行數(shù)量的流行類型
# 根據(jù)上映的電影數(shù)量找到受歡迎的類型
genre_movies_released = df.groupby('Genre')['Movies Released'].sum().sort_values(ascending=False)
print("Popular genres based on Movies Released:")
print(genre_movies_released.head())
# 根據(jù)售出的門票總數(shù)來查找受歡迎的類型
genre_tickets_sold = df.groupby('Genre')['Tickets Sold'].sum().sort_values(ascending=False)
print("\nPopular genres based on Tickets Sold:")
print(genre_tickets_sold.head())
fig, axes = plt.subplots(2, 1, figsize=(10, 8))
genre_movies_released.head().plot(kind='bar', ax=axes[0], color='skyblue')
axes[0].set_title('Top Genres by Movies Released')
axes[0].set_ylabel('Total Movies Released')
genre_tickets_sold.head().plot(kind='bar', ax=axes[1], color='lightcoral')
axes[1].set_title('Top Genres by Tickets Sold')
axes[1].set_ylabel('Total Tickets Sold')
plt.tight_layout()
plt.show()
# 類型和收益分析
genre_gross = df.groupby('Genre')['Gross'].sum().sort_values(ascending=False).head()
genre_inflation_adjusted_gross = df.groupby('Genre')['Inflation-Adjusted Gross'].sum().sort_values(ascending=False).head()
genre_top_movie_gross = df.groupby('Genre')['Top Movie Gross (That Year)'].max().sort_values(ascending=False).head()
fig = make_subplots(rows=3, cols=1, subplot_titles=['Top Genres by Gross Revenue', 'Top Genres by Inflation-Adjusted Gross Revenue', 'Top Genres by Top Movie Gross (That Year)'])
fig.add_trace(go.Bar(x=genre_gross.index, y=genre_gross.values, name='Gross Revenue', marker_color='skyblue'), row=1, col=1)
fig.add_trace(go.Bar(x=genre_inflation_adjusted_gross.index, y=genre_inflation_adjusted_gross.values, name='Inflation-Adjusted Gross Revenue', marker_color='lightcoral'), row=2, col=1)
fig.add_trace(go.Bar(x=genre_top_movie_gross.index, y=genre_top_movie_gross.values, name='Top Movie Gross (That Year)', marker_color='lightgreen'), row=3, col=1)
fig.update_layout(height=900, showlegend=False, title_text="Financial Success of Genres")
fig.update_xaxes(title_text="Genres", row=3, col=1)
fig.update_yaxes(title_text="Total Gross Revenue", row=1, col=1)
fig.update_yaxes(title_text="Total Inflation-Adjusted Gross Revenue", row=2, col=1)
fig.update_yaxes(title_text="Top Movie Gross (That Year)", row=3, col=1)
fig.show()
# 多年來的類型趨勢和分析
selected_genres = ['Action', 'Comedy', 'Drama', 'Adventure']
filtered_df = df[df['Genre'].isin(selected_genres)]
fig = px.line(filtered_df, x='Year', y='Movies Released', color='Genre',title='Movie Releases Over Time for Selected Genres',labels={'Movies Released': 'Number of Movies Released'},line_shape='linear')
fig.show()# 為不同年份的總收入創(chuàng)建一個交互式折線圖
fig = px.line(filtered_df, x='Year', y='Gross', color='Genre',title='Gross Revenue Over Time for Selected Genres',labels={'Gross': 'Total Gross Revenue'},line_shape='linear')
fig.show()
# 一段時間內(nèi)選定類型中票房最高的電影
selected_genres = ['Action', 'Comedy', 'Drama', 'Adventure']
filtered_df = df[df['Genre'].isin(selected_genres)]
# 創(chuàng)建一個交互式條形圖來顯示每種類型和年份中票房最高的電影
fig = px.bar(filtered_df, x='Year', y='Top Movie Gross (That Year)', color='Genre',title='Highest-Grossing Movies in Selected Genres Over Time',labels={'Top Movie Gross (That Year)': 'Gross Revenue'},text='Top Movie', height=500)
fig.update_traces(textposition='outside')
fig.show()
# 多年來的類型分布
# 多年來類型分布的堆疊區(qū)域圖
fig = px.area(df, x='Year', y='Movies Released', color='Genre',title='Genre Distribution Over the Years',labels={'Movies Released': 'Number of Movies Released'},height=500)
fig.show()
# 受眾參與分析
# 觀眾參與的散點(diǎn)圖
fig = px.scatter(df, x='Tickets Sold', y='Gross', color='Genre',title='Audience Engagement by Genre',labels={'Tickets Sold': 'Number of Tickets Sold', 'Gross': 'Total Gross Revenue'},height=500)
fig.show()
# 歷年最佳電影表現(xiàn)
# 隨時間變化的頂級電影表現(xiàn)的折線圖
fig = px.line(df, x='Year', y='Top Movie Gross (That Year)', color='Genre',title='Top Movie Performance Over Time',labels={'Top Movie Gross (That Year)': 'Gross Revenue'},height=500)
fig.show()
# 按類型劃分的每部電影平均收入
# 按類型計算每部電影的平均收入
df['Average Revenue per Movie'] = df['Gross'] / df['Movies Released']
# 按類型劃分的每部電影平均收入柱狀圖
fig = px.bar(df, x='Genre', y='Average Revenue per Movie',title='Average Revenue per Movie by Genre',labels={'Average Revenue per Movie': 'Average Revenue per Movie'},height=500)
fig.show()
# 不同類型的門票銷售和發(fā)行
fig = px.violin(df, x='Genre', y='Tickets Sold',title='Genre-wise Ticket Sales Distribution',labels={'Tickets Sold': 'Number of Tickets Sold'},height=500)
fig.show()
# 通貨膨脹調(diào)整后總收益的類型趨勢
fig = px.line(df, x='Year', y='Inflation-Adjusted Gross', color='Genre',title='Genre Trends in Inflation-Adjusted Gross Revenue',labels={'Inflation-Adjusted Gross': 'Inflation-Adjusted Gross Revenue'},height=500)
fig.show()
# 每個類型和收入的頂級電影
unique_top_movies_count = df.groupby('Genre')['Top Movie'].nunique().sort_values(ascending=False)
top_movies_gross = df.groupby('Top Movie')['Top Movie Gross (That Year)'].max().sort_values(ascending=False).head(10)
fig = sp.make_subplots(rows=3, cols=1, subplot_titles=['Count of Unique Top Movies per Genre', 'Top Movies with the Highest Gross Revenue', 'Distribution of Gross Revenue for Top Movies'])
fig.add_trace(go.Bar(x=unique_top_movies_count.index, y=unique_top_movies_count.values),row=1, col=1)
fig.add_trace(go.Bar(x=top_movies_gross.index, y=top_movies_gross.values),row=2, col=1)
fig.add_trace(go.Box(x=df['Top Movie'], y=df['Top Movie Gross (That Year)']),row=3, col=1)
fig.update_layout(height=1000, showlegend=False, title_text="Top Movie Analysis")
fig.show()
from sklearn.model_selection import KFold, cross_val_predict
from sklearn.ensemble import RandomForestRegressor
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.metrics import mean_squared_error
dff = df.copy()
categorical_features = ['Genre']  # 假設(shè)“類型”是一個分類變量
numerical_features = ['Year', 'Movies Released']
target_variable = 'Tickets Sold'# 篩選DataFrame以僅包含相關(guān)列
data = df[['Year', 'Movies Released', 'Genre', 'Tickets Sold', 'Gross']]# 將數(shù)據(jù)拆分為特征和目標(biāo)變量
X = data[['Year', 'Movies Released', 'Genre', 'Gross']]
y = data[target_variable]
# 定義分類編碼的預(yù)處理器
preprocessor = ColumnTransformer(transformers=[('cat', OneHotEncoder(), categorical_features),],remainder='passthrough'
)# 初始化隨機(jī)森林回歸模型
model = RandomForestRegressor(n_estimators=100, random_state=42)# 創(chuàng)建帶有預(yù)處理和模型的管道
pipeline = Pipeline([('preprocessor', preprocessor),('model', model)
])
# 初始化KFold以進(jìn)行交叉驗(yàn)證
kf = KFold(n_splits=5, shuffle=True, random_state=42)
# 進(jìn)行k-fold交叉驗(yàn)證并進(jìn)行預(yù)測
predictions = cross_val_predict(pipeline, X, y, cv=kf)
# 評估模型性能
mse = mean_squared_error(y, predictions)
print(f'Mean Squared Error: {mse}')
# 可視化實(shí)際值和預(yù)測值
plt.scatter(y, predictions)
plt.xlabel('Actual Tickets Sold')
plt.ylabel('Predicted Tickets Sold')
plt.title('Actual vs. Predicted Tickets Sold')
plt.show()
http://www.risenshineclean.com/news/47835.html

相關(guān)文章:

  • 鄭州的做網(wǎng)站公司有哪些好搜搜索
  • 做網(wǎng)站即墨鄭州競價托管公司哪家好
  • 賀卡制作優(yōu)化資訊
  • 榆次建設(shè)局網(wǎng)站普通話手抄報簡單又漂亮
  • 個人網(wǎng)站建站指南他達(dá)那非片能延時多久
  • php做網(wǎng)站的好處寧波seo外包推廣渠道
  • 購物網(wǎng)站圖片的放大怎么做的seo網(wǎng)絡(luò)推廣教程
  • html5網(wǎng)站下載建站模板哪個好
  • 網(wǎng)絡(luò)營銷應(yīng)該這樣做seo優(yōu)化交流
  • 保定企業(yè)網(wǎng)站制作電商數(shù)據(jù)統(tǒng)計網(wǎng)站
  • 目前流行的網(wǎng)站開發(fā)技術(shù)浙江專業(yè)網(wǎng)站seo
  • 高端網(wǎng)站定制策劃長沙官網(wǎng)seo技巧
  • 可以做書的網(wǎng)站全國疫情最新公布
  • 站長平臺有哪些交換友情鏈接的方法
  • 談?wù)勀銓W(wǎng)站建設(shè)有什么樣好的建設(shè)意見做一個簡單的網(wǎng)站需要多少錢
  • 一般做網(wǎng)站需要的js有哪些網(wǎng)絡(luò)營銷的方法
  • web前端開發(fā)視頻教學(xué)seo排名是什么
  • 真正能約拍的app做好的網(wǎng)站怎么優(yōu)化
  • p2p做網(wǎng)站貴州二級站seo整站優(yōu)化排名
  • 機(jī)關(guān)事業(yè)單位網(wǎng)站備案谷歌瀏覽器下載
  • ibm網(wǎng)站導(dǎo)航特效代碼信息流廣告投放平臺
  • 高端做網(wǎng)站哪家好百度一下官網(wǎng)首頁登錄
  • 臺州網(wǎng)站建設(shè)優(yōu)化深圳seo推廣
  • 金華專業(yè)做網(wǎng)站建站推廣
  • 互聯(lián)網(wǎng)金融網(wǎng)站設(shè)計百度收錄查詢工具
  • 模型下載網(wǎng)站開發(fā)流程廣州網(wǎng)頁制作
  • 網(wǎng)站建設(shè)月總結(jié)怎么做百度關(guān)鍵詞排名
  • 網(wǎng)站首頁的動態(tài)視頻怎么做的公司seo排名優(yōu)化
  • 給網(wǎng)站做插畫分辨率seo也成搜索引擎優(yōu)化
  • 北京網(wǎng)站建設(shè)天下公司網(wǎng)絡(luò)營銷品牌