当前位置: 首页 > 图灵资讯 > 技术篇> Python基于SVM和RankGauss的低消费指数构建模型

Python基于SVM和RankGauss的低消费指数构建模型

来源:图灵教育
时间:2023-07-02 17:13:46

分析师:Wenyi Shen

校园的温暖关怀是智慧校园的重要组成部分。通过大数据和数据挖掘技术,快速筛选和比较学生日常校园的消费信息,建立大数据模型,准确识别校园内需要帮助的学生,为高校的温暖关怀提供有效的数据依据。

本项目解决的主要问题是如何通过数据挖掘技术筛选和比较学生的消费信息,自动识别校园需要帮助的学生,为大学扶贫提供数据依据。

模型假设和问题分析模型假设

三点假设:

  • 没有学生用自己的账户为别人预付款,每一笔消费都是自己做的。
  • 在所有数据的60天内,经常点外卖的人认为总消费次数小于80次,不被认为是低消费群体。
  • 没有收费错误。
清除数据清除时间异常值

Python基于SVM和RankGauss的低消费指数构建模型_机器学习

从20年9月1日6点到20年10月30日19点,共有260多万条数据。但是有“9月31日”的数据,我们删除了。

Python基于SVM和RankGauss的低消费指数构建模型_聚类_02

为了减少计算量,我们从200万个数据中随机选择2万个数据进行训练,最终获得两个集群和每个集群的最大和最小值。考虑到数据选择的随机性,本文将消费金额80作为异常阈值,删除所有消费金额超过80的数据,保留约98%的正常数据。

Python基于SVM和RankGauss的低消费指数构建模型_数据_03

在观察了消费价格后,我们发现少数消费数据超过1000甚至10000,这些数据是异常数据,我们使用密度聚类(DBSCAN)找到一个阈值来划分算法。

Python基于SVM和RankGauss的低消费指数构建模型_机器学习_04

Python基于SVM和RankGauss的低消费指数构建模型_机器学习_05

窗口和价格分类窗口分类

Z-score标准化数据,消除数据中的量纲差异,使每个特征在模型中的影响程度相等。

绘制标准化数据的SSE(Sum of Squared Errors)肘形图随分类数的变化如下图所示:

Python基于SVM和RankGauss的低消费指数构建模型_机器学习_06

使用4的k-means聚类算法对标准化后的数据进行聚类,并获得每个分类中心的平均值和标准差,以及每个数据所属的簇(即标签)

还原标准化数据,绘制平均消费价格与消费价格方差与分类标签的关系图,如下图所示:

Python基于SVM和RankGauss的低消费指数构建模型_数据_07

Python基于SVM和RankGauss的低消费指数构建模型_机器学习_08

价位分类

最终的聚类效果如下。根据每个簇的最大最小值,消费分为低、中、高三个价格,分别定义为10.37元、10.37元至24.67元和24.67元以上。

Python基于SVM和RankGauss的低消费指数构建模型_数据_09

低消费指数模型

Python基于SVM和RankGauss的低消费指数构建模型_聚类_10

我们选择以下7个自变量参与模型培训:夜宵次数、午餐次数、晚餐次数、下午茶次数、夜宵次数、中消费频率、高消费频率。然后,用户的消费分类cluster变量将被贴上y标签。

我们用70%的数据做训练集,30%做测试集,建立SVM(支持向量机)分类模型,输出测试数据的准确性、准确性、召回率和F1值,以及混淆矩阵热图,如下所示:

Python基于SVM和RankGauss的低消费指数构建模型_聚类_11

在训练SVM模型后,我们获得了权重和偏置项,如下表所示,这些参数将用于计算概率矩阵。

Python基于SVM和RankGauss的低消费指数构建模型_数据_12

低消费指数模型

简单来说,RankGauss首先根据大小对每个值的排名进行排序(排名从1开始);然后将排名除以n+1,其中n是该特征的样本数量,得到0-1之间的比例因子;最后,将比例因子作为标准正态分布的累积分布函数(CDF)转换后的输入数据如下表所示。

Python基于SVM和RankGauss的低消费指数构建模型_聚类_13

通过RankGauss的标准化,可以看出,最初的小数据也可以转换为10个(-3)数量级或以上,保留了模型的可解释性和科学性,同时规范了数据,方便数据参与二次操作。 与其他标准化算法相比,只有RankGauss才能将任何分布的数据映射到高斯分布,保持原始特征的顺序关系,规范和减少数据的数量级差异。

关于作者

Python基于SVM和RankGauss的低消费指数构建模型_聚类_14

在这里对Wenyi Shen对本文的贡献表示衷心感谢。他在南京理工大学完成了数据科学和大数据技术学位,专注于数据挖掘和数据分析。擅长Python、R、Excel、SPSSPRO。

Python基于SVM和RankGauss的低消费指数构建模型_数据_15