python+大数据校园卡数据分析 计算机竞赛
0 前言
🔥 优质竞赛项目系列,今天要分享的是
🚩 基于yolov5的深度学习车牌识别系统实现
🥇学长这里给一个题目综合评分(每项满分5分)
- 难度系数:4分
- 工作量:4分
- 创新点:3分
该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!
🧿 更多资料, 项目分享:
https://gitee.com/dancheng-senior/postgraduate
1 课题介绍
近年来,大数据的受关注程度越来越高。如何对大数据流进行抽取转换成有用的信息并应用于各行各业变得越来越重要。如今,校园一卡通系统在高校应用十分广泛,大部分高校主要利用校园一卡通对校园中的各类消费阅、补助领取等进行统一管理。通过数据分析算法,对大学生校内消费记录进行整理、分类、预测,从而整体反应学生在校消费情况,形成量化的评判标准,同时也为今后的贫困生资助管理工作提供可靠的数据支持,辅助完成贫困生的相关工作。
2 数据预处理
在进行数据挖掘或者数据分析之前,需要对“脏数据” 数据进行数据预处理,一般采用数据清理、数据集成、数据变换等方式,已获得更好的分析效果。
2.1 数据清洗
由于数据库中有着大量的数据表,我们获取到的数据表中会存在着异常数据,如数据不合法与常识不符,同一个字段属性值来源于多张数据表且数值不一样等。数据预处理主要去处可忽略的字段、忽略空缺记录、可处理噪声的数据、可删除的数据等。由于部分校园卡用户,如教职工、研究生等,消费时具有很强的随机性和离散型。同时,为了保护隐私,对姓名、学号等属性要做脱敏和隐私处理。
2.2 数据规约
预处理后的数据不一定适合直接使用,因此需要对数据进行集成和变换,将多个数据库中提取出的数据项整合到一起,组成新的数据集环境,并经过详细对比和筛选解决数据不一致和数据冗余等问题。为了适合分析,我们要对数据进行离散化和概念分层处理。
3 模型建立和分析
通过建立消费数据分析模型,对学校校园卡消费行为进行分析,总结学校学生
#1.总体消费情况
#2.不同专业、性别的学生与消费能力的关系
#3.不同性别的学生与消费项目的关系
#4.消费时间的特征分析
#5.消费地点与门禁通过地点的关系分析
#6.学生消费特征分层模型
import matplotlib.pyplot as pltexpen_rec = pd.read_csv(r'C:\Users\River\Desktop\校园卡数据\expen_rec.csv',encoding='gbk')student = pd.read_csv(r'C:\Users\River\Desktop\校园卡数据\student.csv',encoding='gbk')access = pd.read_csv(r'C:\Users\River\Desktop\校园卡数据\access.csv',encoding='gbk')all_data1 = pd.merge(expen_rec,student,on ='校园卡号',how='left')all_data1.head()
3.1 不同专业、性别的学生与消费能力的关系
from pylab import *plt.rcParams['font.sans-serif']=['SimHei']%matplotlib inlinetotal = con_sum.groupby(['性别'])[['消费金额']].sum()total1= con_sum.groupby(['性别'])[['消费金额']].count()plt.subplot(121)plt.pie(total['消费金额'],labels=total.index,autopct='%2.f%%')plt.title('男女生消费总金额对比')plt.subplot(122)plt.pie(total1['消费金额'],labels=total1.index,autopct='%2.f%%')plt.title('男女生人数对比')plt.show()
fig1 = plt.figure(num =1, figsize=(8,4))plt.title('各消费等级人数')plt.xlabel('消费等级')x1 =['(0, 100] ','(100, 150]','(150, 200] ','(200, 250]','(250, 300]','(300, 350]','(350, 400]','(400, 500]','(500, 3000]']y1 = list(table1.values)y2 =list(table2.loc[('女',slice(None))].values)y3 =list(table2.loc[('男',slice(None))].values)plt.plot(x1,y1,label='总体')plt.plot(x1,y2,label='女生')plt.plot(x1,y3,label='男生')plt.legend(loc=2)plt.show()
#分析各专业总消费金额排列fig2 = plt.figure(num =2, figsize=(14,6))plt.title('各专业总消费金额排列')plt.xlabel('专业名称')x1=table3.indexy1=table3['消费总金额']plt.bar(x1,y1)plt.xticks(x1,x1,rotation=45)for a,b in zip(x1,y1):plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=9)plt.show()
小结:
1.该校18级学生的人均每月校园卡消费295.96元;
2.女生人数占比59%,总消费额占比56%,消费总金额与性别差异不大;
3.从消费金额级区间上看,学生的总体消费金额主要在[200,500]的区间内,但男女生消费存在明显差异:女生消费金额在[200-350]区间内人数明显高于男生,但随着增加而下降,而男生在400以上的区间内的人数高于女生。男生对校园卡消费方式差异较大,一般不使用或者经常使用。女生多数选择轻度使用。
4.从各专业消费总金额上看机械制造专业最高,机械制造(学徒)专业最低。但结合各专业的人均消费分析,各专业的人均消费差异很小,标准差仅为42.8。人均消费最高的机械制造(学徒)专业因为人数最少仅为14人,对总体数据影响较小。可以得出:学生的校园卡消费能力与专业无明显区别。
3.2 消费时间的特征分析
fig7 = plt.figure(num =7, figsize=(8,4))mon1= time_tab.groupby(['日期'])[['消费金额']].count()mon2= time_tab1.groupby(['日期'])[['消费金额']].count()mon3= time_tab2.groupby(['日期'])[['消费金额']].count()plt.title('月度消费次数趋势分析')plt.xlabel('日期')x1 = list(mon1.index)y1 = list(mon1.values)y2 =list(mon2.values)y3 =list(mon3.values)plt.plot(x1,y1,label='总体')plt.plot(x1,y2,label='女生')plt.plot(x1,y3,label='男生')plt.legend(loc=2)plt.show()#除个别天数外,女生均高于男生,每周之间趋势相似
fig8 = plt.figure(num =8, figsize=(8,4))wk1= time_tab.groupby(['星期'])[['消费金额']].count()wk2= time_tab1.groupby(['星期'])[['消费金额']].count()wk3= time_tab2.groupby(['星期'])[['消费金额']].count()def autolabel(rects):for rect in rects:height = rect.get_height()plt.text(rect.get_x()+rect.get_width()/2.-0.2, 1.03*height, '%s' % float(height))plt.title('月度消费次数趋势分析')plt.xlabel('星期')y1 = wk2['消费金额']y2 = wk3['消费金额']x1=range(len(y1))x2=[i +0.35 for i in x1]a=plt.bar(x1,y1, width=0.3,label='女生',color='blue')b=plt.bar(x2,y2, width=0.3,label='男生',color='green')autolabel(a)autolabel(b)plt.legend()plt.xticks(x1,list(wk1.index),rotation=45)plt.show()#周一至周三消费次数较高,男女生在一周内的消费频率的波动没有明显差异
1.从一个月的每天的消费次数上看,除个别天数男女生消费次数相近,多大多数天数的女生的消费次数高于男生,且每周之间趋势相似,可以得出学生日常的消费习惯比较稳定;
2.从每周的消费次数汇总上看,周一至周三消费次数较高,并且逐步下降,周末为消费次数最低的时候。男女生在一周内的消费频率的波动趋势相同,没有明显差异;
3.从每天的消费的时间段分析上看,周末的刷卡消费次数为平常的12%。食堂可以根据数据情况,适当安排休息,减少人力成本浪费;
4.平常时间的早、中、晚餐的用餐时间集中在7点、11点、17-18点时间段。周末消费的时间相对平缓,早餐的高峰时间会延后到8点时间段,且持续有人员消费,中餐的用餐时间也会有部分后延到12点的时间段。晚餐时间则会部分提前17点的时间段进行,需要提前做好食堂的准备事项。
4 Web系统效果展示
以上是校园卡分析的部分过程,我们还可以做成web系统来展示。效果如下:
4.平常时间的早、中、晚餐的用餐时间集中在7点、11点、17-18点时间段。周末消费的时间相对平缓,早餐的高峰时间会延后到8点时间段,且持续有人员消费,中餐的用餐时间也会有部分后延到12点的时间段。晚餐时间则会部分提前17点的时间段进行,需要提前做好食堂的准备事项。
Web系统效果展示
以上是校园卡分析的部分过程,我们还可以做成web系统来展示。效果如下:
5 最后
🧿 更多资料, 项目分享:
https://gitee.com/dancheng-senior/postgraduate
相关文章:
python+大数据校园卡数据分析 计算机竞赛
0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于yolov5的深度学习车牌识别系统实现 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:4分工作量:4分创新点:3分 该项目较为新颖&am…...
【机器学习】sklearn降维算法PCA
文章目录 降维PCAsklearn中的PCA代码实践 PCA对手写数字数据集的降维 降维 如何实现降维?【即减少特征的数量,又保留大部分有效信息】 将那些带有重复信息的特征合并,并删除那些带无效信息的特征等等,逐渐创造出能够代表原特征矩…...
华为云云耀云服务器L实例评测|企业项目最佳实践之评测用例(五)
华为云云耀云服务器L实例评测|企业项目最佳实践系列: 华为云云耀云服务器L实例评测|企业项目最佳实践之云服务器介绍(一) 华为云云耀云服务器L实例评测|企业项目最佳实践之华为云介绍(二) 华为云云耀云服务器L实例评测࿵…...
Xcode升级到15.0 解决DT_TOOLCHAIN_DIR问题
根据个人开发遇到的问题做的总结,公司要求Xcode 14.2 ,Swift 5.7开发,由于升级了Mac 14.0系统后,Xcode 14.2不能使用,解决方案目前有2个 一、在原来Xcode 14.2 的显示包内容,如图 二、升级到Xcode的15.0后…...
小谈设计模式(29)—访问者模式
小谈设计模式(29)—访问者模式 专栏介绍专栏地址专栏介绍 访问者模式角色分析访问者被访问者 优缺点分析优点将数据结构与算法分离增加新的操作很容易增加新的数据结构很困难4 缺点增加新的数据结构比较困难增加新的操作会导致访问者类的数量增加34 总结…...
【25】c++设计模式——>责任链模式
责任链模式定义 C中的责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它通过将请求沿着处理对象的链传递来避免把请求发送者与接收者耦合在一起。 责任链模式的主要思想是,通过将多个处理对象组成一条链&…...
GlobalTransactional
seata-spring的maven坐标: <dependency><groupId>io.seata</groupId><artifactId>seata-spring</artifactId><version>1.6.1</version> </dependency>GlobalTransactional注解的位置: io.seata.sprin…...
Android Studio运行kotlin项目,一直Read timed out
Android Studio运行kotlin项目,一直Read timed out 下载别人的Kotlin项目,导入as后,运行app一直失败,提示Read timed out,有2种解决办法 第一种方式:gradle.properties 修改kotlin项目种的gradle.proper…...
Excel 的单元格内容和单元格格式
文章目录 单元格内容单元格格式常规格式数字格式 单元格内容 文本:只要不是纯数字,Excel 都默认是文本格式。 在 Excel 中,逻辑值只有两个:True 和 False。 全选一片区域,按 Delet 键删除内容时,确实可以删…...
4大软件测试策略的特点和区别(单元测试、集成测试、确认测试和系统测试)
四大软件测试策略分别是单元测试、集成测试、确认测试和系统测试。 一、单元测试 单元测试也称为模块测试,它针对软件中的最小单元(如函数、方法、类、模块等)进行测试,以验证其是否符合预期的行为和结果。单元测试通常由开发人…...
armbian 安装mysql
1、执行安装指令 sudo apt-get update sudo apt-get install mysql-server 2、安装成功后,设置密码 ALTER USER root% IDENTIFIED WITH mysql_native_password BY ysw1234; flush privileges;3、设置允许远程连接并生效 use mysql; update user set host % whe…...
Ubuntu22常用软件
别存太多重要东西在Ubuntu ,硬盘损坏就麻烦 Tweaks自定义UI sudo apt intall gnome-tweaks为了方便管理和添加,还需添加: sudo apt install gnome-shell-extension-prefs gnome-shell-extension-manager -y1.打开Extension应用,添…...
【CFD小工坊】浅水模型的边界条件
【CFD小工坊】浅水模型的边界条件 前言处理边界条件的原则边界处水力要素的计算水位边界条件单宽流量边界条件流量边界条件固壁边界条件 参考文献 前言 在浅水方程的离散及求解方法一篇中,我们学习了三角形网格各边通量值及源项的求解。但仍有一个问题没有解决&…...
电力物联网关智能通讯管理机-安科瑞黄安南
众所周知,网关应用于各种行业的终端设备的数据采集与数据分析,然后去实现设备的监测、控制、计算,为系统与设备之间建立通讯联系,达到双向的数据通讯。 网关可以实时监测并及时发现异常数据,同时自身根据用户规则进行…...
用Flask构建一个AI翻译服务
缘起 首先,看一段代码,只有几行Python语句却完成了AI翻译的功能。 #!/usr/bin/python3import sys from transformers import MarianMTModel, MarianTokenizerdef translate(word_list):model_name "Helsinki-NLP/opus-mt-en-zh"tokenizer …...
微信小程序引入阿里巴巴iconfont图标并使用
介绍 在小程序里,使用阿里巴巴的图标,如下所示: 使用方式 搜索自己需要的图标,然后将需要用到的图标加入购物车,如下图所示: 去右上角,点击购物车按钮;这里第一次使用,会有三个提…...
mysql面试题49:MySQL中不同text数据类型的最大长度
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL中TEXT数据类型的最大长度 在MySQL中,TEXT数据类型用于存储较大…...
从虚拟电厂在上海的实践探索看企业微电网数字化的意义
安科瑞 华楠 作为典型的人口聚集、负荷密集区域,上海市具有外来电比例高、本地资源禀赋不足的特点。从发电侧角度来看,近年来上海风、光等新能源发电装机比例逐年提升,传统的火电逐渐成为调节性发电资源;从负荷侧角度来看上海以第…...
创建并初始化线程池
创建并初始化线程池–》threadpool.h, 创建并初始化&脱离(执行完后)子线程,每个子线程信号量wait阻塞【1】 创建套接字:int listenfd socket( PF_INET, SOCK_STREAM, 0 ); 端口复用:setsockopt( listenfd, SOL_SOCKET, SO_REUSEADDR, &a…...
【LeetCode热题100】--136.只出现一次的数字
136.只出现一次的数字 使用哈希表: class Solution {public int singleNumber(int[] nums) {Map<Integer,Integer> map new HashMap<>();for(int num:nums){Integer count map.get(num);if(count null){count 1;}else{count;}map.put(num,count);}…...
Java idea查看自定义注解的调用地方
Java idea查看自定义注解的调用地方...
ReLU激活函数
LeakyReLU激活函数的具体用法请查看此篇博客:LeakyReLU激活函数 ReLU(Rectified Linear Unit)激活函数是深度学习中最常用的激活函数之一,它的数学表达式如下: 在这里,(x) 是输入,(f(x)) 是输…...
【Android】adjustViewBounds 的理解和使用
理解 adjustViewBounds 是一个 ImageView 的属性,用于调整 ImageView 的边界以适应图像的尺寸。当设置为 true 时,ImageView 的边界将根据图像的宽高比例进行调整,以确保图像完全显示在 ImageView 内部。 理解和使用 adjustViewBounds 的步…...
Redis知识补充
大key删除 unLink scan分批删除 渐进式rehash Redis笔记:Redis的字典什么时候进行Rehash?_redis什么时候进行rehash-CSDN博客...
IIS 部署.NetCore,最细步骤
服务器安装环境 将.net core程序部署到IIS总体需要经过以下3个大步骤,其中在IIS上配置网站有些比较繁琐,我都会逐一给出详细步骤。 <1>安装IIS和.NetCORE运行时程序 <2>以文件的形式发布.NETCORE程序到指定目录 <3>IIS上面建立网站…...
4.查询用户的累计消费金额及VIP等级
思路分析: (1)按照user_id及create_date 分组求消费金额total_amount (2)开窗计算同user_id下的累计销售金额sum(total_amount) over(partition by user_id order by create_date ROWS BETWEEN UNBOUNDED PRECEDING AN…...
解决MySQL错误-this is incompatible with sql_mode=only_full_group_by
报错 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘数据库名.表名.字段名’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_modeonly_full_group_by 原因 MySQL错误-t…...
UDP通信-广播、组播
UDP的三种通信方式 单播:单台主机与单台主机之间的通信。 广播:当前主机与所在网络中的所有主机通信。 组播:当前主机与选定的一组主机的通信。 UDP如何实现广播 使用广播地址:255.255.255.255 具体操作: 发送端…...
10-bean创建流程1一finishBeanFactoryInitialization(ConfigurableListableBeanFactory
文章目录 1. 方法的主要流程2. ConversionService-如何自定义转换器3. AbstractBeanFactory#getMergedLocalBeanDefinition(String beanName)4.FactoryBean实例化5.内置值处理器1. 方法的主要流程 /*** Finish the initialization of this contexts bean factory,* initializi…...
专题三:穷举、暴搜、深搜、回溯、剪枝【递归、搜索、回溯】
1、全排列 class Solution { public:vector<vector<int>> ret;vector<int> path;bool check[7];void dfs(vector<int>& nums){if(nums.size() path.size()) {ret.push_back(path);return;}for(int i 0;i < nums.size();i){if(check[i] fals…...
合肥网站建设需要多/武威网站seo
《UltraSR Spatial Encoding is a Missing Key for Implicit Image Function-based Arbitrary-Scale Super-Resolution》(说明:如果您认为下面的文章对您有帮助,请您花费一秒时间点击一下最底部的广告以此来激励本人创作,谢谢!!!&…...
宝安做网站公司/seo兼职
近期优化了一个spark流量统计的程序,此程序跑5分钟小数据量日志不到5分钟,但相同的程序跑一天大数据量日志各种失败。经优化,使用160 vcores 480G memory,一天的日志可在2.5小时内跑完,下面对一些优化的思路方法进行梳…...
网站做可信认证多少钱/国家高新技术企业查询
进程原语和线程原语是啥意思本文向您展示如何将WebSphere ESB StockQuote样本(IBM Integration Designer随附)中的资源转换为IBM Integration Bus资源。 StockQuote示例使用带有SOAP / JMS Web服务绑定的导出。 由StockQuote中介流记录输入的JMS消息&…...
wordpress标签链接优化/做网站优化推广
Python函数(四)-递归函数递归函数就是函数在自己内部调用自己 # -*- coding:utf-8 -*- __author__ "MuT6 Sch01aR" def Digui(n): print(n ...Python函数篇(二)之递归函数、匿名函数及高阶函数1.全局变量和局部变量 一般定义在程序的最开始的变量…...
北京网站建设 标准型 新翼/建设网页
分布式编程模型的背景 编程模型是指编程的方法而不是特指某一种编程语言,如面向对象的编程就是一种编程模型。编程模型大致分为两类:命令式编程和声明式编程。前者最典型的是面向过程的编程语言,如C语言;后者与前者差异较大&#…...
php网站开发说明文档/爱链网中可以进行链接买卖
8个动态数码管时钟显示#include#define uint unsigned int#define uchar unsigned charuchar i,temp,aa,miao,fen,shi,play0;/************************************************定义3个键,K1用于调节分,K2用于调节时,K3用于调节时**********…...