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

简介: 【视频】Python基于SVM和RankGauss的低消费指数构建模型

全文链接:https://tecdat.cn/?p=32968

分析师:Wenyi Shen


校园的温情关怀是智慧校园的一项重要内容。通过大数据与数据挖掘技术对学生日常校园内的消费信息进行快速筛选和比对,建立大数据模型,对校园内需要帮助的同学进行精准识别,为高校温情关怀提供有效的数据依据点击文末“阅读原文”获取完整代码数据


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


模型假设与问题分析


模型假设

三点假设:

  • 没有同学使用自己的账户为他人垫付,每一笔消费均为本人所为。
  • 在全部数据的60天内,认为消费总次数小于80次的为经常点外卖的人,剔除他们,不认为属于低消费人群。
  • 不存在收费错误的情况。


数据清洗


剔除时间异常值

image.png

数据共计260多万条条,从20年9月1日6时一直持续到20年10月30日19时。但其中有“9月31日”的数据,我们将其删除。

image.png

为了减少计算量,我们从200万条数据里随机选取20000条进行训练,最终获得两个聚类簇,以及各个簇的最大最小值。考虑到数据选取的随机性,本文将消费金额80作为异常值阈值,删除所有消费金额大于80的数据,保留下约98%的正常数据。


点击标题查阅往期内容


PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享


01

02

03

04



image.png

我们观察消费价格后发现,有少部分消费金额数据在1000甚至10000以上,这部分数据是异常数据,我们采用密度聚类(DBSCAN)算法来寻找一个阈值进行划分。

image.png

image.png

窗口与价位分类


窗口分类

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

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

image.png

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

将标准化后的数据还原,并画出平均消费价格和消费价格的方差与分类标签的关系图,如下图所示:

image.png

image.png

价位分类


最终的聚类效果如下。根据每个簇的最大最小值,将消费分为低、中、高三个价位,分别界定为小于10.37元,10.37元到24.67元和大于24.67元。

image.png

低消费指数模型


image.png

我们选取下面7个自变量参与模型训练:夜宵次数,午饭金额,晚饭金额,下午茶金额,夜宵金额,中消费频率,高消费频率。然后,用户的消费分类cluster变量将作为y标签。

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

image.png

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

image.png

点击标题查阅往期内容


【视频】支持向量机算法原理和Python用户流失数据挖掘SVM实例


01

image.png

02

image.png

03

image.png

04

image.png


低消费指数模型


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

image.png

通过RankGauss标准化,可以看到,原本极小的数据也能转化到10个(-3)数量级及以上,在保留了模型可解释性和科学性的同时规范化了数据,便于数据参与二次运算。相较于其他标准化算法,只有RankGauss能做到将任意分布的数据映射到高斯分布,并且保留原始特征的顺序关系,同时规范减小数据的数量级差异。

目录
打赏
0
0
0
0
111
分享
相关文章
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
466 66
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
基于Python+Vue开发的反诈视频宣传管理系统源码+运行步骤
基于Python+Vue开发的反诈视频宣传管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的反诈宣传管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
32 6
|
1月前
|
Python如何给视频添加音频和字幕
通过以上方法和代码示例,你可以在Python中成功实现视频的音频和字幕添加。确保理解每一步的实现细节,应用到实际项目中时能有效地处理各种视频编辑需求。
62 20
Python爬虫:从人民网提取视频链接的完整指南
Python爬虫:从人民网提取视频链接的完整指南
Python 高级编程与实战:构建 RESTful API
本文深入探讨了使用 Python 构建 RESTful API 的方法,涵盖 Flask、Django REST Framework 和 FastAPI 三个主流框架。通过实战项目示例,详细讲解了如何处理 GET、POST 请求,并返回相应数据。学习这些技术将帮助你掌握构建高效、可靠的 Web API。
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
Python 高级编程与实战:构建微服务架构
本文深入探讨了 Python 中的微服务架构,介绍了 Flask、FastAPI 和 Nameko 三个常用框架,并通过实战项目帮助读者掌握这些技术。每个框架都提供了构建微服务的示例代码,包括简单的 API 接口实现。通过学习本文,读者将能够使用 Python 构建高效、独立的微服务。
Python 高级编程与实战:构建分布式系统
本文深入探讨了 Python 中的分布式系统,介绍了 ZeroMQ、Celery 和 Dask 等工具的使用方法,并通过实战项目帮助读者掌握这些技术。ZeroMQ 是高性能异步消息库,支持多种通信模式;Celery 是分布式任务队列,支持异步任务执行;Dask 是并行计算库,适用于大规模数据处理。文章结合具体代码示例,帮助读者理解如何使用这些工具构建分布式系统。
通义灵码AI程序员实战:从零构建Python记账本应用的开发全解析
本文通过开发Python记账本应用的真实案例,展示通义灵码AI程序员2.0的代码生成能力。从需求分析到功能实现、界面升级及测试覆盖,AI程序员展现了需求转化、技术选型、测试驱动和代码可维护性等核心价值。文中详细解析了如何使用Python标准库和tkinter库实现命令行及图形化界面,并生成单元测试用例,确保应用的稳定性和可维护性。尽管AI工具显著提升开发效率,但用户仍需具备编程基础以进行调试和优化。
294 9

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等