数据分析项目 基于K-Means算法的广告聚类分析(6)----使用雷达图对不同聚类对比分析

一、获取各集群的数值特征均值、并标准化

nums_data = cluster_pd.iloc[:6, :].T.astype(np.float64)  # 获取数据并转换为浮点数
nums_min_max = min_max_model.fit_transform(nums_data)  # 获取标准化(归一化)后的数据
print(nums_min_max.round(4))

结果

[[0.     0.     0.     1.     0.     0.    ]
 [0.2473 0.     1.     0.7698 1.     1.    ]
 [0.2848 1.     0.1143 0.8527 0.5    0.187 ]
 [1.     0.     0.4857 0.     0.     0.1425]]

二、绘制画布、准备数据:x轴角度、y轴数据、类别对应颜色

fig = plt.figure()  # 创建一个画布
ax = fig.add_subplot(111, polar=True)  # 创建子网格:正中央、极坐标系
angles = np.linspace(0, 2 * np.pi, 6, endpoint=False)  # 计算角度
angles = np.concatenate((angles, [angles[0]]))  # 完成了对于x轴的设置,并且最后一个值=第一个值,以闭合图形
colors = ['b', 'y', 'r', 'g'] # 设置颜色
labels = p1_data.columns.tolist() # 获取数字类特征的列名
labels = np.concatenate((labels, [labels[0]])) # 对lables进行闭合

三、绘制各簇对应的点线图

for i in range(len(nums_min_max)):
    temp_list = nums_min_max[i]  # 获得对应簇数值特征数据
    temp = np.concatenate((temp_list, [temp_list[0]]))  # 完成闭合
    ax.plot(angles, temp, 'o-', color=colors[i], label=i)

四、添加说明标签、显示雷达图

ax.set_thetagrids(angles * 180 / np.pi, labels)  # 设置极坐标
ax.set_rlim(-0.2, 1.2)  # 设置半径刻度
plt.title("数值特征对比分析")  # 设置标题
plt.legend()  # 类说明标签
plt.show()

结果
数据分析项目 基于K-Means算法的广告聚类分析(6)----使用雷达图对不同聚类对比分析_第1张图片

五、分析

从图上可以看出:
聚类1的综合效果好,除平均搜索量外的其他指标表现的都很好;
聚类2的效果欠佳,除访问深度较高以外,其它指标都处于极低的层次;
聚类3在引流方面很好,日均UV与平均搜索量的表现较为突出,但其他方面表现的不好;
聚类4在转化率方面表现的很出色,在日均UV低的情况下有较高道德平均注册率,访问深度及订单转化率。
综上所述,
聚类1所代表的渠道适用于任何场景的投放;
聚类2所代表的渠道是一个低性价比的渠道,投放时要考虑投放价值
聚类3符合广告的基本要求,适用于拉新
聚类4所代表的广告具有高质量,高转化的优点,适用于提升订单转化率的场合

基于K-Means算法的广告聚类分析报告

完整代码

数据文件

你可能感兴趣的:(数据分析项目,聚类,数据分析,数据挖掘,机器学习,python)