基于高校图书馆的用户画像、可视化、模型预测、推荐算法项目实现
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
需要本项目的可以私信博主获取源码及项目
本研究基于高校图书馆的借阅信息、馆藏图书信息、读者入馆信息、用户信息等多维度的数据表首先将不同年份的数据拼接在一起按照时间维度进行整合并保证数据维度字段一致性。然后对数据进行清洗其中包括空值的检测和处理采用Python的正则表达式模块对某些字段进行约束约束和处理比如学院字段存在大量的不规则数值需要将其统一。最终把清洗好的数据存入到MySQL数据库中。
其次对不同维度的数据表进行处理之后需要保留有效的信息数据并将处理好的数据表存入到另外一个数据库中方便后续进行结构化分析和图书馆群体画像与个人用户画像的设计。分别从图书借阅数据、馆藏数据、用户信息和入馆记录等维度表挖掘不同字段之间的信息价值并构建用户画像系统将所有的用户画像进行可视化展示采用pyecharts进行前端的网页端展示并利用pyecharts的Page组件实现基于用户画像和群体画像的大屏可视化设计。最后采用ARIMA时间序列预测算法对未来的12个月的借阅图书数量进行时间序列预测将预测的结果可视化和存入到本地。并结合图书群体和个人用户画像对图书信息采用基于协同过滤的算法建模构建图书推荐算法。
本研究从图书馆的多维度的不规则数据进行数据探索和预处理将处理好的数据进行用户和群体画像可视化分析剖析数据在不用维度下的规律和特点为图书馆的智能化管理和决策提供支持并采用预测算法和推荐模型对数据进行建模实现数据的挖掘和可视化。
本文旨在探索高校图书馆用户群体特征、借阅数据的时间序列预测和协同过滤推荐算法的可视化研究具体研究目的如下
一、分析高校图书馆用户群体特征
二、预测高校图书馆借阅数据的时间序列
三、研究基于协同过滤推荐算法的图书馆资源推荐
四、探索可视化技术在图书馆数据分析与决策中的应用
本研究旨在探索高校图书馆用户行为和需求的规律性为图书馆提供更为精准的服务和决策支持同时也为图书馆的数字化转型和智能化服务提供借鉴。
1.3 研究意义
高校图书馆一直是学术研究、知识传承的重要场所其承载着高校师生对于知识的渴望与获取。然而高校图书馆如何满足不同群体的需求提高图书利用率提高读者满意度等问题一直是困扰图书馆管理者的难题。因此本论文的研究意义在于探索基于高校图书馆的群体、用户画像与图书借阅数据时间序列预测以及协同过滤推荐算法的可视化研究以此提升图书馆服务质量满足读者需求。
此处省略
1.4 国内外研究现状
基于高校图书馆的用户画像与可视化研究近年来受到了越来越多的关注和研究。国内外的学者们在此方面进行了丰富的探索和研究以下是一些相关研究现状的介绍。
此处省略
2 研究过程
2.1 研究总体设计
本研究旨在探究基于高校图书馆多维度数据的智能化管理和决策支持方法总体研究路线如下
第一步收集高校图书馆的借阅信息、馆藏图书信息、读者入馆信息、用户信息等多维度数据表并进行数据整合和清洗。首先将不同年份的数据拼接在一起按照时间维度进行整合并保证数据维度字段一致性。然后对数据进行清洗包括空值的检测和处理对某些字段采用Python的正则表达式模块进行约束和处理比如将学院字段统一规范化。最终将清洗好的数据存入MySQL数据库中以备后续的分析和建模。
第二步对不同维度的数据表进行处理保留有效的信息数据并将处理好的数据表存入到另一个数据库中以方便后续进行结构化分析和用户画像的设计。从图书借阅数据、馆藏数据、用户信息和入馆记录等维度表挖掘不同字段之间的信息价值并构建用户画像系统将所有的用户画像进行可视化展示采用pyecharts进行前端的网页端展示并利用pyecharts的Page组件实现基于用户画像和群体画像的大屏可视化设计。通过对用户画像和群体画像的分析揭示数据在不同维度下的规律和特点。
第三步采用ARIMA时间序列预测算法对未来的12个月的借阅图书数量进行时间序列预测将预测的结果可视化并存入本地。结合图书群体和个人用户画像对图书信息采用基于协同过滤的算法建模构建图书推荐算法。通过预测算法和推荐模型对数据进行建模和分析进一步深化对数据规律和特点的认识并为图书馆的智能化管理和决策提供支持。
2.2 前期知识准备
Python是一种高级编程语言具有易学易用的特点同时也是一种非常流行的编程语言用于各种不同的应用场景包括科学计算、数据分析、人工智能和机器学习等。
此处省略
MySQL是一种流行的关系型数据库管理系统可以在数据分析和用户画像中发挥重要作用。
此处省略
Pyecharts是一个Python语言的数据可视化库基于Echarts开发。它提供了各种图表类型如柱状图、折线图、散点图、饼图等并且支持动态更新和交互式操作。
此处省略
2.2.4 用户与群体画像介绍
用户画像是指根据用户行为、兴趣、偏好等信息来描述一个个体用户的特征和行为习惯的方法。用户画像可以帮助企业更好地了解用户需求和行为习惯从而更好地为用户提供服务和产品。
此处省略
2.2.5 ARIMA时间序列预测
ARIMA自回归积分滑动平均模型是一种广泛应用于时间序列分析的方法可以用于预测未来的趋势、季节性和周期性变化。
此处省略
2.2.6 协同过滤推荐算法
协同过滤推荐算法是一种经典的推荐算法其基本思想是通过分析用户历史行为数据挖掘用户之间的兴趣相似性或者物品之间的相似性从而实现给用户推荐他们可能感兴趣的物品。具体而言协同过滤推荐算法分为基于用户和基于物品两种不同的实现方式。
此处省略
2.3 研究过程
2.3.1 数据预处理及存储
根据所提供的原始数据其中包括几个不规则的表格分别是2020-2022年的流通数据该数据表中存在大量的数据因为在Excel中存放数据一般不能过多单表超过6万多条就无法继续存入数据所以需要使用Excel里面分表。在这张表格里面分别由21个维度字段其中包含一些重要的图书流通信息和时间信息也包含空值需要我们进行探索。
图 1 流通数据原始表展示 |
图 2 数据库中的数据展示 |
1处理流通数据表
此处省略
图 3 图书分类号参考表 |
通过MySQL语句来实现这一个关联的功能
此处省略
简单来说这个查询语句的作用是将 data 表中的图书信息和 分类号 表中的图书分类信息进行关联然后将这些信息一起输出以便用户可以更方便地了解每本图书的基本信息和所属分类。
2处理馆藏数据表
其次我们需要将馆藏数据筛选出图书属性为流通的数据将分类号转换为图书类别保留题名著者出版社图书类别分类号。
通过编写MySQL实现上述的功能
此处省略
3处理入馆记录数据表
入馆记录保留读者条码读者类型读者单位来访日期。我们可以直接通过查询对应的字段就可以实现上述的要求。需要注意的是我们在进行数据从查询的时候需要把每一个字段尽量的命名好这样就不会造成太多的干扰。
4处理读者信息数据表
读者信息去除含有空值的数据保留读者条码性别读者类别读者单位。首先我们将所有的数据查询出来然后导出到本地之后在进行利用Python里面的pandas进行空值处理。
图 4 预处理程序展示 |
我们将mysql中查询和关联好的数据全部导出到本地此处省略
图 5 数据预处理程序展示 |
通过在后续的用户画像中我们发现对于读者单位这一个字段值有很多的一段是不一致的比如经济贸易学院2022级经济贸易学院/跨境电子商务2018级公共事务学院我们在进行分组聚合的时候都会被识别为不同的学院但是本质上第一个和第二个都是属于经济贸易学院。所以需要利用Python中的正则表达式进行处理字符串将所有的学院进行处理保证数据的一致性。
通过处理之后得到的数据结果展示如下所示
图 6 读者字段预处理 |
最后对其他的几个数据表进行处理然后将处理好的结果保存到本地文件格式为csv文件。之后我们新建一个预处理后的高校图书馆信息数据库进行存储这些清洗好的数据集。
图 7 清洗后的数据存储到数据库 |
2.3.2 借阅图书信息画像
流通数据筛选出操作状态为借书的数据将分类号转换为图书类别保留操作时间题名读者条码读者类型读者单位专业年级著者图书类别分类号出版社。这是我们在前期通过数据进行筛选的字段值在本次我们需要分析借阅图书信息借阅图书总量与学院的关系。
此处省略
图 8 借阅图书总量与学院的关系 |
通过上述的分析可知借阅图书总量最多的学院是设计与创意学院其次是金融学院工商管理学院。探索不同学院的借阅数量可以挖掘出每个学院之间的对比情况找到学院之间的差异探寻目前哪一个学院的借阅数量最多需要调整一下管理措施等可以帮助图书馆管理员进一步的优化管理方案。
图 9 借阅图书总量和类别之间的关系 |
通过探索.....
此处省略
图 10 图书馆中被借阅前十的书籍 |
我们发现《明朝那些事儿》是比较的受欢迎的此处省略
图 11 不同读者类型的借阅数量统计 |
通过统计发现学生群体是借阅人群中最多的其次就是读者协会这一个群体之后就是教职工。
2.3.3 借阅图书时间维度画像
在借阅图书的信息中有一个操作时间也就是用户在进行借阅的时候时间维度上的画像通过此类的分析我们可以挖掘出不同时间维度下的借阅数量统计指标。
通过分析可知
图 12 2020-2022年每月借阅数量统计 |
2020-2022年9-12月的借阅数量都是比较高的此处省略
图 13 每年图书馆的日流量统计 |
分析可以得知在近些年我们按照每日进行统计分析此处省略
图 14 近三年每周的借阅流量对比 |
通过分析发现从周一开始到周末借阅数量是不断的在下降的说明大部分的同学在一周开始就已经规划好自己要看什么书籍或者要学习什么书籍。“一年之计在于春一天之计在于晨”无论做什么事情都需要自己提前规划好这样才可以更好的完成这些东西。
图 15 近三年的图书馆的借阅小时流量对比 |
通过发现我们得知借阅数量最多的时刻是下午3点和5点此处省略
2.3.4 馆藏数据的信息画像
针对馆藏数据中的数据可以对其不同的维度进行图书的画像其中包括对不同类别的图书进行占比统计、不同的出版社进行占比统计分析以及馆藏图书中那些作者是最多的。
图 16 不同年级在图书馆的借阅情况 |
通过发现在2020级中借书的人最多这也可能和该年级正处于一个学习强化阶段比如大二或者大一有足够的的时间来丰富和增加自己的专业知识所以有机会可以看更多的书籍。
图 17 图书馆中的馆藏图书类别占比 |
图书馆的书籍类别最多的是经济类和工业技术其次就是政治类的书籍通占比分析我们可以了解本图书的书籍类型哪些是最多的哪些是最少的这样有助于我们快速的去定位某些图书是否在图书馆存在不。
图 18 馆藏数据TOP10出版社 |
可以发现在本图书馆中中国人民大学出版社的书籍最多其次就是机械工业出版社的书籍。了解那些出版社在本图书馆的占比情况之后可以根据出版社的信息来寻找我们需要的书籍。其次还可以通过这个统计分析来解决和出版社之间的供应不足的情况可以加大对其他的出版社合作。
图 19 馆藏数据TOP10作者 |
本图书馆中的著者的一个占比分析可以了解那些著者在图书馆的受欢迎长度可以让我们了解这些数据主要是集中在那些著者上。
2.3.5 图书馆入馆流量画像
针对入馆记录数据信息我们探索出不同时间段对图书馆入馆流量按照年、月、周、日进行时间维度的画像分析可以帮助图书馆进行以下方面的分析和决策
1更好地了解用户行为和需求通过时间维度的分析可以更加深入地了解用户在不同时间段内的借阅需求、借阅量、使用场景等信息。比如在某些时间段内用户倾向于借阅某些特定的书籍或是使用某些特定的设施这些信息可以帮助图书馆更好地满足用户需求提供更优质的服务。
2观察此处省略
3优化此处省略
4提升服此处省略
图 20 近3年图书馆入馆小时流量分布 |
分析可以发现一般在清晨上午的时候入馆流量会出现一个上升的趋势其次就是11到12点1点到2点最后就是下午6点到7点会出现一个上升的趋势。到了晚上之后入馆的人数就会慢慢的变少根据这个情况我们也可以发现这些规律进一步来增加图书馆的管理在这些时间段对图书馆加大管理人员或者维持一些秩序的人员。
图 21近3年图书馆入馆周流量统计 |
我们发现周一的时候最多周五的时候人最少因为周五的时候大家忙碌了一周卸下一周的疲劳大部分的人都想出去走走出去放松一下故入馆的人数相对于较少也是正常的。
图 22 近3年每日入馆流量统计 |
通过发现在近3年里一般到了月末的时候入馆的人数就开始下降了在月初的时候入馆人数慢慢的上升中间的时候处于一个相对于平稳的情况。
图 23 近3年月度入馆流量统计 |
分析发现在8月的时候入馆的人数是最低的因为是处于放假的阶段其次就是2月也是处于放假的阶段。在9月的时候入馆的人数最多因为到了开学的阶段同学们开始慢慢的从假期转移到学校中的学习环境。
图 24 年度入馆流量统计 |
在2021年入馆的人数远远大于2022年的人数针对这种数据分布情况我们应该去探寻其存在这种数据现象的问题是外在的因素影响到因为2022年中间有一段时间疫情比较的严重图书馆很多高校都是不允许开放的。
2.3.6 个人用户画像分析
对于图书馆来说个人用户画像分析可以帮助图书馆更好地了解其读者群体的特点和需求从而有针对性地提供更好的服务和资源。以下是一些可能的好处
1更好地了解用户需求此处省略
2更好地管理资源此处省略
3更好地推广服务此处省略
4更好地提高读者满意度此处省略
这里针对读者条码为A0246的用户进行用户画像从他的每年的借阅情况、借阅书籍的类别以及借阅书籍的前五个书籍名称进行画像探索可以了解该用户的一个行为以及阅读特点。
图 25 A0246用户每年在图书馆的借阅情况 |
可以发现该用户在2021年在图书馆借阅数量最多此处省略
图 26 A0246用户借阅书籍类别 |
该用户在经济类的书籍借阅的最多此处省略
图 27 A0246用户借阅图书前5的书籍 |
通过这里可以发现该用户对同一本此处省略
之后我们又对另外一个用户进行用户画像按照时间维度在入馆记录中探索它的规律。
图 28 用户画像入馆流量分析 |
该用户经常在下午6点和中午12点入馆很少在图书馆学习很晚其中有两次学习到8点钟该用户没有经常很早就到图书馆学习了只是在中午的时间和下午的时间经常入馆。
图 29 用户画像每周入馆流量统计 |
该用户在周一的时候经常入馆到了周末就很少进入图书馆了周二的时候也很少入馆说明该用户在周二时候有其他的安排并没有待在图书馆。
图 30 用户画像每天入馆流量统计 |
图 31 用户画像每月入馆流量统计 |
通过上述的用户画像对不同时间维度下的进行剖析发现该用户在不同时间维度下有规律的入馆可以了解该用户的行为并通过这些画像对不同的用户在不同的时间点提供智能化的服务。
2.3.7 大屏可视化设计
前面通过pyecharts的前端网页可视化将用户画像和群体画像可视化出来表现出交互式的网页端的可视化界面现在我们将同一指标画像集成在一起便于我们理解。
此处省略
图 32 流通数据大屏可视化 |
图 33 大屏可视化-借阅图书时间维度大数据分析 |
图 34 大屏可视化-馆藏大数据分析 |
图 35 入馆流量大屏可视化 |
图 36 用户画像大屏可视化 |
图 37 用户画像时间维度大屏可视化 |
2.3.8 ARIMAI时间序列预测借阅量
首先我们将近3年的每个月数据清洗处理好得到近3年的一个时间序列数据其中包含每年的每个月的总借阅数通过这些借阅数来进行未来的预测完成对未来12个月的借阅数预测可以为未来的图书馆提供一个价值参考哪一个时间段借阅数量比较多需要加强自助化服务。
图 38 时间序列源数据 |
图 39 原始数据的趋势 |
图 40 正态分布检验 |
图 41 滚动均值和滚动标准差图 |
ACF和PACF图用于分析时间序列的自相关性和偏自相关性用于选择ARIMA模型的参数。
图 42 ACF与PACF图
图 43 ARIMA 模型结果展示 |
图 44 预测代码 |
上述代码中
1对一个时间序列进行差分处理使其平稳化。
2绘制差分后的时间序列图以及自相关函数ACF和偏自相关函数PACF图。
3根据自相关函数ACF和偏自相关函数PACF图选择适当的 ARIMA 模型。
4拟合 ARIMA 模型并检查残差是否符合正态分布和均值为零。
此处省略
图 45 未来12个月的借阅量预测结果 |
最后将预测的结果保存在本地csv文件中。
2.3.9 基于协同过滤的图书推荐
构建基于协同过滤的图书推荐算法首先需要将数据处理为我们需要的根据流通借阅数据我们提取出读者条码、图书类别、题名。此处省略
图 46 构架协同过滤算法数据集 |
可以看到同一个用户对同一个书籍依此处省略
1构建基于物品的矩阵
基于物品的此处省略
图 47 基于物品的矩阵 |
代码中的transformPrefs函数可以将以用户为基础的评分数据转换为以物品为基础的评分数据即记录哪些用户对哪些物品进行了评分。此处省略
2相似度算法函数皮尔逊相关度
图 48 皮尔逊相关系数 |
该代码计算了两个物品之间的相似度采用的是皮尔逊相关系数算法。皮尔逊相关系数算法用于衡量两个变量之间的线性关系它可以用于协同过滤算法中计算物品之间的相似度。
该函数的输入参数是一个字典prefs此处省略
图 49 寻找最相似的物品 |
图 50 基于物品的推荐 |
这段代码实现了基于物品的推荐算法。具体思路是给定一个用户通过计算该用户对物品的评分以及物品之间的相似度为该用户推荐他尚未评价但与其喜好相似的物品。
算法的实现流程如下
1此处省略
图 51 给用户推荐15个图书 |
3 结论
3.1 本研究的创新点
本研究的创新点在于从图书馆多维度的不规则数据入手采用数据探索和预处理技术实现对数据的清洗和整合并基于用户和群体画像的可视化分析剖析数据在不同维度下的规律和特点。同时本研究还应用了ARIMA时间序列预测算法和基于协同过滤的图书推荐算法实现数据的挖掘和可视化为图书馆的智能化管理和决策提供了有力的支持。
此处省略
3.2 本研究的不足之处
尽管该研究提出了一个探索和预处理大学图书馆多维数据的综合方法但可以发现有几个限制。
首先此处省略
3.3 未来展望
本研究在多维度的数据探索和分析中对图书馆的智能化管理和决策提供了重要支持。未来可以从以下几个方面进一步拓展和深化本研究的成果。
首先可以进一步完善用户画像系统采用更加细致的分析方法结合用户在图书馆内的活动轨迹和借阅偏好进一步挖掘不同用户群体之间的差异和特点为图书馆提供更加精准的服务和推荐。同时可以结合社交网络分析的方法探究用户之间的交互和影响进一步优化图书馆的社区氛围和用户体验。
此处省略
每文一语
只有不断地长大之后才会发现时间可以创造价值