广告效果聚类分析(KMeans)

前段时间做了一个项目,该客户是来自教育行业,其主要的宣传获客手段就是在各个渠道投放广告,用广告将用户引流至网站。

但是广告的渠道非常多,哪些渠道效果很好,哪些效果不好。需要对广告效果分析针对性做广告效果测量和优化工作。我就想到之前学到的KMeans聚类分析广告的方法,在这里整理出来方法思路。供日后参考。

import numpy as np
import pandas as pd
from sklearn.feature_extraction import DictVectorizer  # 字符串分类转整数分类库
from sklearn.preprocessing import MinMaxScaler # MinMaxScaler库
from sklearn.cluster import KMeans   # KMeans 模块
from sklearn import metrics   # 效果评估模块
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(context='notebook',font='simhei',style='whitegrid') 
%matplotlib inline

data = pd.read_csv('./ad_data.txt',delimiter='\t')
data.head(3)
渠道代号 日均UV 平均注册率 平均搜索量 访问深度 平均停留时间 订单转化率 投放总时间 素材类型 广告类型 合作方式 广告尺寸 广告卖点
0 A203 3.69 0.0071 0.0214 2.3071 419.77 0.0258 20.0 jpg banner roi 140*40 打折
1 A387 178.70 0.0040 0.0324 2.0489 157.94 0.0030 19.0 jpg banner cpc 140*40 满减
2 A388 91.77 0.0022 0.0530 1.8771 357.93 0.0026 4.0 jpg banner cpc 140*40 满减

数据审查

data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 889 entries, 0 to 888
Data columns (total 13 columns):
渠道代号      889 non-null object
日均UV      889 non-null float64
平均注册率     889 non-null float64
平均搜索量     889 non-null float64
访问深度      889 non-null float64
平均停留时间    887 non-null float64
订单转化率     889 non-null float64
投放总时间     889 non-null float64
素材类型      889 non-null object
广告类型      889 non-null object
合作方式      889 non-null object
广告尺寸      889 non-null object
广告卖点      889 non-null object
dtypes: float64(7), object(6)
memory usage: 90.4+ KB

从上可以看出各个字段的数据类型,并发现字段“平均停留时间”有两个缺失值。
对于有些数据缺失较多,不容易看出来,可以这样统计:

# 这样用表格形式展示每个字段有多少缺失值
pd.DataFrame(data.isnull().sum(),columns=["num"]).T
渠道代号 日均UV 平均注册率 平均搜索量 访问深度 平均停留时间 订单转化率 投放总时间 素材类型 广告类型 合作方式 广告尺寸 广告卖点
num 0 0 0 0 0 2 0 0 0 0 0 0 0
# 缺失值用字段均值代替
data_2  = data.fillna(data["平均停留时间"].mean())

# 描述性统计

data_2.describe().round(3)
日均UV 平均注册率 平均搜索量 访问深度 平均停留时间 订单转化率 投放总时间
count 889.000 889.000 889.000 889.000 889.000 889.000 889.000
mean 540.847 0.001 0.030 2.167 262.669 0.003 16.053
std 1634.410 0.003 0.106 3.801 224.112 0.012 8.509
min 0.060 0.000 0.000 1.000 1.640 0.000 1.000
25% 6.180 0.000 0.001 1.392 126.200 0.000 9.000
50% 114.180 0.000 0.003 1.793 236.660 0.000 16.000
75% 466.870 0.001 0.012 2.216 357.930 0.002 24.000
max 25294.770 0.039 1.037 98.980 4450.830 0.216 30.000

从描述性统计我们可以看到

  1. UV的数据波动很大,说明不同渠道差
  • 3
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值