
1) 【一句话结论】在用户行为分析中,通过K-means聚类结合特征工程(含类别型特征处理、异常值过滤)与效果评估(轮廓系数),将用户按行为特征分群,为精准营销提供用户画像,依据分群结果制定个性化营销策略,提升转化率。
2) 【原理/概念讲解】聚类算法(如K-means)的核心是将数据点划分为K个簇,每个簇由质心(均值)代表,簇内样本相似度高、簇间差异大。选型依据:K-means适合数值型用户行为数据(如点击次数、购买金额),计算效率高(尤其大数据下可优化为Mini-Batch KMeans),且目标明确(分群)。
数据预处理步骤:
z = (x - μ) / σ)消除量纲影响;silhouette_score),公式为s(i) = (b(i) - a(i)) / max(a(i), b(i)),其中a(i)为样本i到自身簇的平均距离,b(i)为到最近簇的平均距离,取所有样本的平均值,值在-1到1,越接近1说明聚类效果越好。3) 【对比与适用场景】
| 算法 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| K-means | 将数据分为K个簇,簇内样本均值最小化 | 速度快,适合大数据,需预先确定K值,对异常值敏感 | 用户行为分群(如购买习惯、浏览偏好)、市场细分 | 需合理选择K,对初始质心敏感 |
| 层次聚类 | 逐步合并或分裂簇,生成树状图 | 不需预先确定K,可可视化分析 | 小样本聚类、探索性分析 | 计算复杂度高,不适合大数据 |
4) 【示例】
click_count、purchase_amount、avg_browse_time、gender、region),对数值特征做Z-score标准化,对gender、region做独热编码(如gender_male、gender_female、region_A等);SSE = Σ (x_i - μ_k)^2),选择SSE下降拐点对应的K(如K=3);sklearn.cluster.KMeans(参数init='k-means++'、n_init=10、max_iter=300),输入标准化特征,训练得到用户分群标签;from sklearn.metrics import silhouette_score,score = silhouette_score(X, labels)),若结果接近1则聚类效果良好。5) 【面试口播版答案】
“面试官您好,针对用户行为分群实现精准营销,我会采用K-means聚类方法。首先,数据预处理阶段,提取用户行为特征(如点击次数、购买金额、平均浏览时长、性别、地区等),对数值特征做标准化处理,对类别型特征做独热编码,同时用IQR方法过滤异常值。接着,确定K值,用肘部法分析簇内平方和(SSE)曲线,选择SSE下降拐点对应的K(例如K=3),保证分群效果。然后训练K-means模型(大数据场景可使用Mini-Batch KMeans加速),将用户划分为3个群体(如高频购买用户、低频浏览用户、新用户)。最后用轮廓系数评估模型,若值接近1则说明聚类效果良好。最终,根据分群结果分析每个群体的特征,制定个性化营销策略,比如给高频用户推送新品,给低频用户发送优惠券,从而提升营销转化率。”
6) 【追问清单】
7) 【常见坑/雷区】