数据字段阐述:
* *数据:* *
这个项目中使用的数据来自一个匿名组织的社交媒体广告活动。
1) ad_id:每个ad的唯一ID。
2) XYZ campaign ID: XYZ公司每一个广告活动的ID。
3) fbcampaigns:一个与Facebook如何追踪每个活动相关的ID。
4) age:显示AD的对象的年龄。
5) gender:性别的人心血来潮添加显示
6) interest:指定个人兴趣所属类别的代码(个人的Facebook公开资料中提到的兴趣)。
7) Impressions:广告被播放的次数。
8) Clicks:点击量:该广告的点击量。
9) Spent:支出:xyz公司支付给Facebook的用于展示该广告的金额。
10) Total conversion:总转化率:在看到广告后询问产品的总人数。
11) Approved conversion:经批准的转化率:在看到广告后购买产品的总人数。
读取数据/查看数据异常值和dytpe/查看数据的各种统计数据
df=pd.read_csv("KAG_conversion_data.csv")
#%%
df.head()
#%%
df.info()
#%%
df.describe()
result:
导入matplot,查看pandas的自动生成的数据分析报告
import matplotlib.pyplot as plt
import seaborn as sns
from pandas_profiling import ProfileReport
plt.ion()
profile = ProfileReport(df, title="Pandas Profiling Report")
profile
result
缺失值
相关矩阵
#Correlation Matrix 观察列与列直接的相互关系
g=sns.heatmap(df[["Impressions","Clicks","Spent","Total_Conversion","Approved_Conversion","interest"]].corr(),annot=True ,fmt=".2f", cmap="coolwarm")
类别id转换
df["xyz_campaign_id"].replace({916:"Campaign_1",936:"Campaign_2",1178:"Campaign_3"}, inplace=True)
df.head()
呈现xyz_campaign_id数据分布
# count plot on single categorical variable
sns.countplot(x ='xyz_campaign_id', data = df)
plt.show()
查看不同类别的最终转化数(Approved conversion )
plt.bar(df["xyz_campaign_id"], df["Approved_Conversion"])
plt.ylabel("Approved_Conversion")
plt.title("company vs Approved_Conversion")
plt.show()
分析:在这里,我们看到这些列是相互联系的。
在广告数量较少的情况下,Campaign_3的核准转化率很高,而Campaign_1的核准转化率很好