电商B2C商铺新用户复购预测(一)
2021/6/26 23:28:31
本文主要是介绍电商B2C商铺新用户复购预测(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
作者介绍
@猫耳朵
数据产品经理萌新,
开发经验丰富,专注于数据产品;
“数据人创作者联盟”成员。
01 电商B2C模式介绍
做电商商城已经成为热门行业,传统电子商务的几种商业模式分别为B2B、B2C、C2C、C2B、O2O等。今天我们着重研究一下B2C模式。
B2C模式,是指进行电子商务交易的供方是商家(或企业、公司),买方是个人消费者,他们利用互联网技术和电子商务平台完成交易。随着我国电子商务不断的发展,B2C模式也衍生了不同类型的商业模式,具体可分为四类,如下表:
其中,京东、天猫的盈利方式:特许加盟、虚拟店铺出租费、广告费、技术服务费等。
1.1 B2C主要业务功能
1.2 平台的盈利模式
02 数据挖掘流程
2.1 商业理解
商业理解(Business understanding)该阶段是数据挖掘中最重要的一个部分,在这个阶段里需要明确商业目标、评估商业环境、确定挖掘目标以及产生一个项目计划。
2.2 数据理解
数据理解(Data understanding):在数据理解过程中我们要知道都有些什么数据,这些数据的特征是什么,可以通过对数据的描述性分析得到数据的特征。
-
了解数据集基本特征 info;
-
查看数据分布情况 describe;
-
查看缺失值及占比,对缺失值过多(大于80%)的数据进行删除。
2.3 数据准备
数据准备(Data preparation):在该阶段我们需要对数据作出提取、清洗、合并、标准化等工作。选出要进行分析的数据,并对不符合模型输入要求的数据进行标准化操作。
缺失值处理的几点建议:
-
小于20%采取方案补充;
-
20%~50%之间采取多值离散化;
-
50%~80%之间采取二值离散化;
-
大于80%的删除。
不平衡数据处理
所谓的不平衡数据集指的是数据集各个类别的样本量极不均衡。以二分类问题为例,假设正类的样本数量远大于负类的样本数量,通常情况下把多数类样本的比例接近100:1的数据称为不平衡数据。
不平衡数据的场景出现在互联网应用的方方面面,如搜索引擎的点击预测(点击的网页往往占据很小的比例),电子商务领域的商品推荐(推荐的商品被购买的比例很低),信用卡欺诈检测,网络***识别等等。
常用的处理方式如下:
2.4 建立模型
建立模型(Modeling):需要根据分析目标选出适合的模型工具,通过样本建立模型并对模型进行评估。
2.5 模型评估
模型评估(Evaluation):一方面利用挖掘工具自带评估模型进行挖掘模型效果评估,如准确率、精确度等;另一方面,抽样一部分结果进行调研验证分析。
模型评估的意义
在完成模型构建之后,必须对模型的效果进行评估,根据评估效果来继续调整模型的参数、特征或者算法,以达到满意的结果。
评价一个模型最简单也是最常用的指标就是准确率,但是在没有任何前提下使用准确率作为评价指标,准确率往往不能反映一个模型性能的好坏,例如在不平衡的数据集上,正类样本占总数的95%,负类样本占总数的5%。那么有一个模型把所有样本全部判断为正类,该模型也能达到95%的准确率,但是这个模型没有任何的意义。
因此,对于一个模型,我们需要从不同的方面去判断它的性能。在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评价结果。
这意味着模型的好坏是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。例如医院中监测病人是否有心脏病的模型,那么这个模型的目标是将所有有病的人给监测出来,即使会有许多误诊(将没有病监测为有病)。
再例如,在警察追捕罪犯的模型上,该模型的目标是将罪犯准确的识别出来,而不希望有过多的误判(将正常人认为是罪犯)。所以不同的任务需求,模型的训练目标不同,因此评价模型性能的指标也会有差异。
根据模型选择其模型评估方式
2.5.1 分类算法评估
下面以二分类为例,对分类模型中的常用指标进行说明与总结。
混淆矩阵(Confusion Matrix)
-
真正(True Positive,TP):实际为正预测为正;
-
假正(False Positive,FP):实际为负但预测为正;
-
假负(False Negative,FN):实际为正但预测为负;
-
真反(True Negative,TN):实际为负预测为负。
1. 准确率(Accuracy)
2. 精确率(Precision)
精确率:预测正确的正样本,预测出是正的里面有多少真正是正的,也称查准率。
3. 召回率(Recall)
召回率:实际正样本中,分类器能预测出多少。与真正率相等,可理解为查全率。
4. F值
F值:精确率和召回率加权调和平均数,并假设两者一样重要。准确率和精确率是一对矛盾的度量。一般来说,准确率高时,精确率往往偏低;而精确率高时,准确率往往偏低。通常只有在一些简单任务中,才可能使二者都很高。
5. ROC曲线和AUC
AUC(Area Under the ROC Curve)指标是在二分类问题中,模型评估阶段常用作最重要的评估指标来衡量模型的稳定性。
根据混淆矩阵,还可以得到另外两个指标:
-
真正率(True Positive Rate,TPR):即被预测为正的正样本数/正样本实际数。
-
假正率(False Positive Rate,FPR):即被预测为正的负样本数/负样本实际数。
ROC曲线,Y轴TPR,X轴FPR,作图,便得到了ROC曲线,而AUC则是ROC曲线下的面积。
AUC=1 最理想;0.7~0.9准确率比较高;0.5无诊断价值。
概率,默认阈值0.5。
ROC曲线作用:1. 确定阈值,2. 得到AUC面积。
2.5.2 回归算法评估
按照数据集的目标值选择模型,目标值为连续型的需要采用回归模型。
1. 平均绝对误差
平均绝对误差(Mean Absolute Error,MAE):又被称为L1范数损失。MAE是基于误差的绝对值,而非平方差,因此相比较于MSE与RMSE来说更直观地体现出预测值和实际值的差距。
Python Sklearn :
1 print("MAE:", metrics.mean_absolute_error(y_test, pred))
2. 均方误差
均方误差(Mean Squared Error,MSE),观测值与真值偏差的平方和与观测次数的比值。
Python Skearn:
from sklearn import metrics print("MSE:", metrics.mean_squared_error(y_test, pred))
这也是线性回归中最常用的损失函数,线性回归过程中尽量让该损失函数最小。那么模型之间的对比也可以用它来比较。
MSE可以评估数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。
MSE可以衍生得到均方根方差(Root Mean Square Error,RMSE),和本身的目标值有关系,不同数据源不能对比模型的优劣。
3. R^2判定系数
注:*** 回归平方和,SSE 残差平方和,SST 总离差平方和。
Python Sklearn:
print('R^2 score:', metrics.r2_score(y_test, pred, sample_weight=None, multioutput='uniform_average'))
数学理解:分母理解为原始数据的离散程度,分子为预测数据和原始数据的误差,二者相除可以消除原始数据离散程度的影响。其实,R^2判定系数是通过数据的变化表征一个拟合的好坏。
正常取值范围为[0,1]——实际操作中通常会选择拟合较好的曲线计算R^2。越接近1,表明方程的变量对目标值的解释能力越强,这个模型对数据拟合的也较好;越接近0,表明模型拟合的越差。经验值:>0.4,拟合效果好。
数据集的样本越大,R^2越大,因此,不同数据集的模型结果比较会有一定的误差。
2.5.3 聚类算法评估
1. 误差平方和
误差平方和(Sum of Square Error,SSE),刻画的簇内的凝聚程度。
注:m为簇的中心点,p为簇内的点,c为一个簇,k为簇的个数
肘点法则:下降率突然变缓时即认为是最佳的k值(随着簇数越多,SSE越小)。
2. 轮廓系数
轮廓系数(Silhouette Coefficient,SI)是聚类效果好坏的一种评价方式。最早由Peter J. Rousseeuw 在1986年提出。它结合内聚度和分离度两种因素。可以用来在相同原始数据的基础上用来评价不同算法、或者算法不同运行方式对聚类结果所产生的影响。
方法:
1)计算样本i到同簇其他样本的平均距离ai。ai越小,说明样本i越应该被聚类到该簇。将ai称为样本i的簇内不相似度。簇C中所有样本的ai均值称为簇C的簇不相似度。
2)计算样本i到其他某簇Cj的所有样本的平均距离bij,称为样本i与簇Cj的不相似度。定义为样本i的簇间不相似度:bi=min{bi1, bi2, ……, bik},bi越大,说明样本i越不属于其他簇。
3)根据样本i的簇内不相似度ai和簇间不相似度bi,定义样本i的轮廓系数。
那么i向量轮廓系数就为:
-
a(i):i向量到同一簇内其他点不相似程度的平均值。
-
b(i):i向量到其他簇的平均不相似程度的最小值。
判断:
1)轮廓系数范围在[-1, 1]之间。该值越大,越合理。SI接近1,则说明样本i聚类合理;SI接近-1,则说明样本i更应该分类到另外的簇。
2)若SI近似为0,则说明样本i在两个簇的边界上。
3)所有样本的SI的均值称为聚类结果的轮廓系数,是该聚类是否合理、有效的度量。
将所有点的轮廓系数求平均,就是该聚类结果总的轮廓系数。
3. CH系数
CH系数(Calinski-Harabasz Index):类别内部数据的协方差越小越好,类别之间的协方差越大越好。这样Calinski-Harabasz分数s会高,分数s高则聚类效果越好。
tr为矩阵的迹,Bk为类别之间的协方差矩阵,Wk为类别内部数据的协方差矩阵。
m为训练集样本数,k为类别数。
使用矩阵的迹进行求解的理解:矩阵的对角线可以表示一个物体的相似性。
在机器学习里,主要为了获取数据的特征值,那么就是说,在任何一个矩阵计算出来之后,都可以简单化,只要获取矩阵的迹,就可以表示这一块数据的最重要的特征了,这样就可以把很多无关紧要的数据删除掉,达到简化数据,提高处理速度。
CH需要达到的目的:用尽量少的类别聚类尽量多的样本,同时获得较好的聚类效果。
2.6 部署
部署(Deployment):得出模型的挖掘结果不是最终目标,还需要考虑,如何更直观可视化的进行结果展示,如何提升数据挖掘结果对实际业务的支撑能力。随着业务不断发展,模型也需要随之调整和优化,在不断的使用和优化中持续发展。
这篇关于电商B2C商铺新用户复购预测(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版