在基础版博客中,我们通过可视化分析对电商用户行为数据进行了探索性分析,初步发现部分行为变量与购买行为存在显著关联。本文在此基础上进一步引入机器学习方法,构建一个完整的用户购买行为预测模型。
本文以电商平台用户访问数据为研究对象,围绕“用户是否会发生购买行为(Buy)”这一二分类问题,系统展示了从数据清洗、特征筛选、类别不平衡处理、逻辑回归建模,到模型评估(混淆矩阵与 ROC 曲线)的完整流程,并对模型结果进行分析与反思。
在实际电商场景中,大量用户会浏览商品页面,却并不会完成最终购买。如果能够在用户访问过程中提前识别潜在高购买意向用户,平台便可以进行更精准的营销与推荐,从而提高转化率。
因此,本文关注的核心问题是:
能否基于用户的历史浏览与访问行为,预测其是否会发生购买行为?
该问题可形式化为一个标准的二分类问题:
Buy = 1:用户最终完成购买
Buy = 0:用户未完成购买
本文使用的数据集包含 8,631 条用户访问记录,共 18 个变量,其中 1 个为目标变量 Buy,其余为用户行为特征变量,包括:
页面浏览时长(Informational_Duration、ProductRelated_Duration 等)
跳出率与退出率(BounceRates、ExitRates)
页面价值(PageValues)
浏览器、操作系统、访问来源等系统与环境变量
在基础分析中已发现,该数据集存在明显的类别不平衡问题:购买样本远少于未购买样本。
3.1 数据读取与初步检查


数据集中共有 8631 条样本,其中购买样本约占 15%。

3.2 缺失值处理
首先统计每条样本中缺失变量的数量,并删除异常样本:

随后,对数值型变量采用均值填补的方式处理缺失值。
3.3 无效变量与变量类型处理
部分变量在所有样本中均为 0,无法提供有效信息,因此予以删除:

随后将数据拆分为:
数值型变量(用于建模)
非数值型变量(如 VisitorType、Month、Weekend)
在本文中,为简化模型结构,仅保留数值型变量用于建模。


四、特征与标签构建

并将数据集划分为训练集与验证集:

训练集与验证集中正负样本比例与原始数据基本一致,仍然存在明显不平衡现象。
5.1 模型选择说明
逻辑回归是一种经典的线性分类模型,具有以下优点:
结构简单、计算效率高
输出结果具有概率意义
参数可解释性强,适合作为基线模型
因此本文选择逻辑回归作为购买行为预测的主要模型。
5.2 类别不平衡处理
由于购买样本比例较低,直接训练模型会导致模型偏向预测“未购买”。为缓解该问题,在模型中引入 class_weight 参数,对购买样本赋予更高权重。
6.1 混淆矩阵与分类报告

结果显示,模型在购买样本上的召回率显著提高,但整体准确率较低。这反映了在不平衡数据中,提高少数类识别能力往往需要牺牲部分整体准确率。
6.2 改进模型:L1 正则化逻辑回归
为进一步优化模型,引入 L1 正则化以增强特征选择能力,并调整类别权重参数:

与基础模型相比,该模型在保持较高召回率的同时,对噪声特征具有一定抑制作用。
6.3 ROC 曲线与 AUC 评估

ROC 曲线结果表明,两种逻辑回归模型均具备一定的区分能力,其中引入正则化后的模型表现略有提升。
在完成模型训练后,将模型应用于测试集,对未知用户的购买行为进行预测。


生成的 final.csv 文件可用于后续业务分析或系统部署。
尽管模型能够在一定程度上识别潜在购买用户,但仍存在以下局限:
类别变量未编码:直接删除了 VisitorType、Month 等变量,可能损失信息。
模型结构较为简单:逻辑回归难以捕捉复杂非线性关系。
阈值未进行业务优化:预测阈值仍采用默认 0.5。
未来可以进一步尝试:
对类别变量进行 One-Hot 编码
使用随机森林、XGBoost 等非线性模型
结合 Precision-Recall 曲线进行评估
本文基于电商用户行为数据,完整展示了一个购买行为预测的机器学习流程。从数据清洗、特征构建,到逻辑回归建模与评估,系统分析了用户行为特征在购买预测中的作用。
结合基础版博客中的可视化分析,本文进一步验证了用户行为数据在电商决策支持中的实际价值,为后续更复杂模型的应用奠定了坚实基础。